109 lines
4.5 KiB
HTML
Executable File
109 lines
4.5 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>JSDoc: Source: services/street_view.js</title>
|
|
|
|
<script src="scripts/prettify/prettify.js"> </script>
|
|
<script src="scripts/prettify/lang-css.js"> </script>
|
|
<!--[if lt IE 9]>
|
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
|
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="main">
|
|
|
|
<h1 class="page-title">Source: services/street_view.js</h1>
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
<article>
|
|
<pre class="prettyprint source linenums"><code>/**
|
|
* @ngdoc service
|
|
* @name StreetView
|
|
* @description
|
|
* Provides [defered/promise API](https://docs.angularjs.org/api/ng/service/$q) service
|
|
* for [Google StreetViewService](https://developers.google.com/maps/documentation/javascript/streetview)
|
|
*/
|
|
ngMap.service('StreetView', ['$q', function($q) {
|
|
return {
|
|
/**
|
|
* Retrieves panorama id from the given map (and or position)
|
|
* @memberof StreetView
|
|
* @param {map} map Google map instance
|
|
* @param {LatLng} latlng Google LatLng instance
|
|
* default: the center of the map
|
|
* @example
|
|
* StreetView.getPanorama(map).then(function(panoId) {
|
|
* $scope.panoId = panoId;
|
|
* });
|
|
* @returns {HttpPromise} Future object
|
|
*/
|
|
getPanorama : function(map, latlng) {
|
|
latlng = latlng || map.getCenter();
|
|
var deferred = $q.defer();
|
|
var svs = new google.maps.StreetViewService();
|
|
svs.getPanoramaByLocation( (latlng||map.getCenter), 100, function (data, status) {
|
|
// if streetView available
|
|
if (status === google.maps.StreetViewStatus.OK) {
|
|
deferred.resolve(data.location.pano);
|
|
} else {
|
|
// no street view available in this range, or some error occurred
|
|
deferred.resolve(false);
|
|
//deferred.reject('Geocoder failed due to: '+ status);
|
|
}
|
|
});
|
|
return deferred.promise;
|
|
},
|
|
/**
|
|
* Set panorama view on the given map with the panorama id
|
|
* @memberof StreetView
|
|
* @param {map} map Google map instance
|
|
* @param {String} panoId Panorama id fro getPanorama method
|
|
* @example
|
|
* StreetView.setPanorama(map, panoId);
|
|
*/
|
|
setPanorama : function(map, panoId) {
|
|
var svp = new google.maps.StreetViewPanorama(map.getDiv(), {enableCloseButton: true});
|
|
svp.setPano(panoId);
|
|
}
|
|
}; // return
|
|
}]);
|
|
</code></pre>
|
|
</article>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<nav>
|
|
<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>
|
|
</nav>
|
|
|
|
<br clear="both">
|
|
|
|
<footer>
|
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
|
and <a href="https://github.com/allenhwkim/angular-jsdoc">angular-jsdoc</a>
|
|
</footer>
|
|
|
|
<script> prettyPrint(); </script>
|
|
<script src="scripts/linenumber.js"> </script>
|
|
<script>
|
|
var href=window.location.href.match(/\/([^\/]+$)/)[1];
|
|
document.querySelector("nav a[href='"+href+"']").scrollIntoView(true);
|
|
if (window.location.hash == "")
|
|
document.querySelector("body").scrollIntoView(true);
|
|
</script>
|
|
</body>
|
|
</html>
|