Google 地点 API - 获取地址,phone 号码等
Google Places API - Get address, phone number etc
我正在尝试获取有关我在地图上显示的地点的更多信息,例如地点地址、phone 号码等。您可以在此处查看我的代码:
http://jsfiddle.net/aboother/4q3jcg1s/
我做了一个'console_log(place)'如下:
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
console.log(place);
var request = { reference: place.reference };
service.getDetails(request, function(details, status) {
google.maps.event.addListener(marker, 'click', function() {
console.log(place);
infowindow.setContent(place.name + "<br />" + place.vicinity);
infowindow.open(map, this);
});
});
}
但我看不到此对象中的地址或 phone 号码,尽管我知道您可以获得此信息。只能看到'vicinity'、'name'等基本信息。有人可以帮忙吗?
好吧,您使用了服务:service.nearbySearch()
来根据某些条件搜索附近。同样有以下服务:service.getDetails()
获取所有透视细节。我不太确定,但根据我的理解,该服务使用 placeID 来匹配并获取与该位置有关的所有详细信息。
关于你的代码,不是直接为每个地方创建一个标记,而是将它传递给 getDetails() 服务,然后创建一个标记。我记录了这个地方,所有的细节都在那里,你可以根据你的需要使用数据。
下面是修改后的代码:
function callback(results, status) {
if(status == google.maps.places.PlacesServiceStatus.OK) {
for(var i = 0; i < results.length; i++) {
service.getDetails(results[i], function(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
console.log(place);
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
});
}
}
}
这里是 fiddle:使用您用于扩展每个位置的任何控制台,您将看到他们的所有数据,从 phone 数字到他们的评论:http://jsfiddle.net/r61tqtxw/1/
我正在尝试获取有关我在地图上显示的地点的更多信息,例如地点地址、phone 号码等。您可以在此处查看我的代码:
http://jsfiddle.net/aboother/4q3jcg1s/
我做了一个'console_log(place)'如下:
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
console.log(place);
var request = { reference: place.reference };
service.getDetails(request, function(details, status) {
google.maps.event.addListener(marker, 'click', function() {
console.log(place);
infowindow.setContent(place.name + "<br />" + place.vicinity);
infowindow.open(map, this);
});
});
}
但我看不到此对象中的地址或 phone 号码,尽管我知道您可以获得此信息。只能看到'vicinity'、'name'等基本信息。有人可以帮忙吗?
好吧,您使用了服务:service.nearbySearch()
来根据某些条件搜索附近。同样有以下服务:service.getDetails()
获取所有透视细节。我不太确定,但根据我的理解,该服务使用 placeID 来匹配并获取与该位置有关的所有详细信息。
关于你的代码,不是直接为每个地方创建一个标记,而是将它传递给 getDetails() 服务,然后创建一个标记。我记录了这个地方,所有的细节都在那里,你可以根据你的需要使用数据。
下面是修改后的代码:
function callback(results, status) {
if(status == google.maps.places.PlacesServiceStatus.OK) {
for(var i = 0; i < results.length; i++) {
service.getDetails(results[i], function(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
console.log(place);
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
});
}
}
}
这里是 fiddle:使用您用于扩展每个位置的任何控制台,您将看到他们的所有数据,从 phone 数字到他们的评论:http://jsfiddle.net/r61tqtxw/1/