0

Я пытаюсь работать над тем, как использовать геолокационные сервисы googles с угловыми модулями угловых google-карт. Использование этого модуля делает его странным и не может выполнять геолокацию таким же образом, как и с обычными картами google javascript v3.Как сделать геокодирование с угловыми google-картами

например:

var geocoder = new google.maps.Geocoder(); 

Google неопределен ..

Это то, что я выработал до сих пор:

Мой angular.module:

...'uiGmapgoogle-maps']) 

.config(['uiGmapGoogleMapApiProvider', function (GoogleMapApi) { 
       GoogleMapApi.configure({ 
        key: 'X', 
        v: '3.20', 
        libraries: 'weather,geometry,visualization' 
       }); 
       }]); 

Мой угловой контроллер:

.controller(...., function (.., uiGmapGoogleMapApi, GoogleMapApi){ 

//Map setup stuff 

var geocoder = new GoogleMapApi.Geocoder(); 
     geocoder.geocode({ 'address': 'something'}, function(results, status) { 
     if (status == GoogleMapApi.google.maps.GeocoderStatus.OK) { 
      $scope.map.control.getGMap().setCenter(results[0].geometry.location); 
      $scope.map.marker.latitude = results[0].geometry.location.lat(); 
      $scope.map.marker.longitude = results[0].geometry.location.lng(); 
     } else { 
      alert('Geocode was not successful for the following reason: ' + status); 
     } 
     }); 

Говорит, что геокодер не определен. Очень смущен относительно того, какой объект использовать, uiGmapGoogleMapApi или GoogleMapApi для ссылки на Geocoder(). И как установить geocoder.geocode ..? Пожалуйста, помогите

ответ

4

Реализованный я могу избежать всех проблем, связанных с использованием только запроса HTTP вместо:

$http.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + 
       address + '&key=X') 
     .then(function(coord_results){ 
     $scope.queryResults = coord_results.data.results; 
     $scope.geodata = $scope.queryResults[0].geometry; 
     }, 
     function error(_error){ 
      $scope.queryError = _error; 
     }); 

Если кто-то знает, как решить данную проблему без этого, пожалуйста, еще оставить пост.

+0

Я собирался ответить тем же! – Ravimallya

1

У меня была та же проблема, при этом, что:

uiGmapGoogleMapApi.then(function(apiMaps) { 
     var geocoder = new apiMaps.Geocoder(); 
     console.log(geocoder); //undefined 
    }); 

Мое решение:

uiGmapGoogleMapApi.then(function(apiMaps) { 
     var geocoder = new google.maps.Geocoder(); 
     console.log(geocoder); //object 
    }); 
0

Если вы не хотите придерживаться вашего API Google, я использовал геолокации API в моей угловыми погоды приложение here. Надеюсь, поможет!!

Смежные вопросы