我想使用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);
});
答案 0 :(得分:1)
根据上述评论,var map=$scope.map.control.getGMap()
是解决方案。
因此,对于使用angular-google-map的其他人,您需要使用$scope.map.control.getGMap()
来获取当前的地图实例。