12345678910111213141516171819202122232425262728293031323334 |
- /**
- * @ngdoc service
- * @name GeoCoder
- * @description
- * Provides [defered/promise API](https://docs.angularjs.org/api/ng/service/$q) service for Google Geocoder service
- */
- ngMap.service('GeoCoder', ['$q', function($q) {
- return {
- /**
- * @memberof GeoCoder
- * @param {Hash} options https://developers.google.com/maps/documentation/geocoding/#geocoding
- * @example
- * ```
- * GeoCoder.geocode({address: 'the cn tower'}).then(function(result) {
- * //... do something with result
- * });
- * ```
- * @returns {HttpPromise} Future object
- */
- geocode : function(options) {
- var deferred = $q.defer();
- var geocoder = new google.maps.Geocoder();
- geocoder.geocode(options, function (results, status) {
- if (status == google.maps.GeocoderStatus.OK) {
- deferred.resolve(results);
- } else {
- deferred.reject('Geocoder failed due to: '+ status);
- }
- });
- return deferred.promise;
- }
- }
- }]);
|