street_view.js.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Source: services/street_view.js</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Source: services/street_view.js</h1>
  17. <section>
  18. <article>
  19. <pre class="prettyprint source linenums"><code>/**
  20. * @ngdoc service
  21. * @name StreetView
  22. * @description
  23. * Provides [defered/promise API](https://docs.angularjs.org/api/ng/service/$q) service
  24. * for [Google StreetViewService](https://developers.google.com/maps/documentation/javascript/streetview)
  25. */
  26. ngMap.service('StreetView', ['$q', function($q) {
  27. return {
  28. /**
  29. * Retrieves panorama id from the given map (and or position)
  30. * @memberof StreetView
  31. * @param {map} map Google map instance
  32. * @param {LatLng} latlng Google LatLng instance
  33. * default: the center of the map
  34. * @example
  35. * StreetView.getPanorama(map).then(function(panoId) {
  36. * $scope.panoId = panoId;
  37. * });
  38. * @returns {HttpPromise} Future object
  39. */
  40. getPanorama : function(map, latlng) {
  41. latlng = latlng || map.getCenter();
  42. var deferred = $q.defer();
  43. var svs = new google.maps.StreetViewService();
  44. svs.getPanoramaByLocation( (latlng||map.getCenter), 100, function (data, status) {
  45. // if streetView available
  46. if (status === google.maps.StreetViewStatus.OK) {
  47. deferred.resolve(data.location.pano);
  48. } else {
  49. // no street view available in this range, or some error occurred
  50. deferred.resolve(false);
  51. //deferred.reject('Geocoder failed due to: '+ status);
  52. }
  53. });
  54. return deferred.promise;
  55. },
  56. /**
  57. * Set panorama view on the given map with the panorama id
  58. * @memberof StreetView
  59. * @param {map} map Google map instance
  60. * @param {String} panoId Panorama id fro getPanorama method
  61. * @example
  62. * StreetView.setPanorama(map, panoId);
  63. */
  64. setPanorama : function(map, panoId) {
  65. var svp = new google.maps.StreetViewPanorama(map.getDiv(), {enableCloseButton: true});
  66. svp.setPano(panoId);
  67. }
  68. }; // return
  69. }]);
  70. </code></pre>
  71. </article>
  72. </section>
  73. </div>
  74. <nav>
  75. <h2><a href="index.html">Index</a></h2><h3>service</h3><ul><li><a href="Attr2Options.html">Attr2Options</a></li><li><a href="GeoCoder.html">GeoCoder</a></li><li><a href="NavigatorGeolocation.html">NavigatorGeolocation</a></li><li><a href="StreetView.html">StreetView</a></li></ul><h3>directive</h3><ul><li><a href="bicycling-layer.html">bicycling-layer</a></li><li><a href="cloud-layer.html">cloud-layer</a></li><li><a href="custom-control.html">custom-control</a></li><li><a href="drawing-manager.html">drawing-manager</a></li><li><a href="dynamic-maps-engine-layer.html">dynamic-maps-engine-layer</a></li><li><a href="fusion-tables-layer.html">fusion-tables-layer</a></li><li><a href="heatmap-layer.html">heatmap-layer</a></li><li><a href="info-window.html">info-window</a></li><li><a href="kml-layer.html">kml-layer</a></li><li><a href="lazy-load.html">lazy-load</a></li><li><a href="map.html">map</a></li><li><a href="map-data.html">map-data</a></li><li><a href="map-type.html">map-type</a></li><li><a href="MapController.html">MapController</a></li><li><a href="maps-engine-layer.html">maps-engine-layer</a></li><li><a href="marker.html">marker</a></li><li><a href="overlay-map-type.html">overlay-map-type</a></li><li><a href="shape.html">shape</a></li><li><a href="traffic-layer.html">traffic-layer</a></li><li><a href="transit-layer.html">transit-layer</a></li><li><a href="weather-layer.html">weather-layer</a></li></ul>
  76. </nav>
  77. <br clear="both">
  78. <footer>
  79. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
  80. and <a href="https://github.com/allenhwkim/angular-jsdoc">angular-jsdoc</a>
  81. </footer>
  82. <script> prettyPrint(); </script>
  83. <script src="scripts/linenumber.js"> </script>
  84. <script>
  85. var href=window.location.href.match(/\/([^\/]+$)/)[1];
  86. document.querySelector("nav a[href='"+href+"']").scrollIntoView(true);
  87. if (window.location.hash == "")
  88. document.querySelector("body").scrollIntoView(true);
  89. </script>
  90. </body>
  91. </html>