我很好奇如何使用placeId获取地点的详细信息,而无需为其提供HTML元素。例如,文档HERE显示了需要HTML元素的所有示例,但我只需要调用它来在其他地方使用数据。
var request = {
placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4'
};
service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);
function callback(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
createMarker(place);
}
}
答案 0 :(得分:1)
尝试google places api https://maps.googleapis.com/maps/api/place/details/json?placeid=' PLACE_ID'& key =您的密钥'
如果需要xml格式的响应,请将json更改为xml
答案 1 :(得分:-1)
您可以按placeId获取地点详细信息,除了提供区域内的地点列表外,地方信息服务还可以返回有关特定地点的详细信息。在地点搜索回复中返回某个地点后,其地点ID可用于请求有关该地点的其他详细信息,例如其完整地址,电话号码,用户评分和评论等。
地点ID提供了一种可靠的方法来引用特定地点的信息。使用地点ID的常用方法是搜索地点,然后使用返回的地点ID来检索地点详细信息。
使用Google Places API网络服务,您可以通过Place Search请求找到地点ID。
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -33.866, lng: 151.196},
zoom: 15
});
var infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.getDetails({
placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4'
}, function(place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' +
'Place ID: ' + place.place_id + '<br>' +
place.formatted_address + '</div>');
infowindow.open(map, this);
});
}
});