在Google Angular Map api中,如何使用place_id获取地点详细信息?

时间:2015-10-19 18:55:51

标签: javascript angularjs google-maps google-maps-api-3

我想使用place_id获取地点信息like this example位置,城市,州,经度,纬度,formatted_address。我收到错误未捕获TypeError:undefined不是函数。我正在使用this: places/place-id google api获取地址。在var service = new google.maps.places.PlacesService(map);中使用地图变量因为我使用的是角度 - 谷歌地图,所以我将$scope.map作为参数而不是map传递。请检查以下代码,我错了,由于在$scope.map中传递了PlacesService,我希望map作为this example中的参数。

HTML

<ui-gmap-google-map center='map.center' zoom='map.zoom' control='map.control' id="map-canvas">
  <ui-gmap-markers models="markers" idkey="markers.id" coords="'coords'" >

  </ui-gmap-markers>
</ui-gmap-google-map>

控制器

 var map={
       center: {
         latitude: 
         longitude: 
       },
       bounds : ,
       zoom: 5,
       control : {}
    };
    $scope.map = map;

 var service = new google.maps.places.PlacesService($scope.map);
 service.getDetails({ placeId: $scope.place_id}, function(place, status){
          console.log('place='+place);
 });

1 个答案:

答案 0 :(得分:1)

根据上述评论,var map=$scope.map.control.getGMap()是解决方案。

因此,对于使用angular-google-map的其他人,您需要使用$scope.map.control.getGMap()来获取当前的地图实例。