我创建了这个垃圾箱,以获取地点格式化地址和格式化电话号码的详细信息。
但是,格式化的电话号码显示未定义的地点。
然而它确实出现了像“Franklin D. Roosevelt Four Freedoms Park,1 FDR Four Freedoms Park,Roosevelt Island,NY 10044,USA”这样的地方的电话号码
但是,大多数其他地方都未定义。
但是,在jsbin页面中搜索“iStorage Limited 13 Alperton Ln,Perivale,Greenford,Middlesex UB6 8DH,UK”确实显示电话号码未定义。
我在代码中做错了吗?或者是因为其他地方没有电话号码?
非常感谢任何帮助。
答案 0 :(得分:0)
在您的问题中获得地点ID(ChIJffZXHmsSdkgRBh8rxIhDbUw
作为示例)后,您可以执行地点详细信息请求。
确保在API调用中包含Places库:
https://maps.googleapis.com/maps/api/js?libraries=places
function initialize() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(0, 0),
zoom: 15
});
var service = new google.maps.places.PlacesService(map);
service.getDetails({
placeId: 'ChIJffZXHmsSdkgRBh8rxIhDbUw'
}, function(place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
// Create marker
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
// Center map on place location
map.setCenter(place.geometry.location);
// Get DIV element to display opening hours
var phoneNumberDiv = document.getElementById("phone-number");
// Create DIV element and append to opening_hours_div
var content = document.createElement('div');
content.innerHTML = 'Formatted phone number: ' + place.formatted_phone_number + '<br>';
content.innerHTML += 'International phone number: ' + place.international_phone_number;
phoneNumberDiv.appendChild(content);
}
});
}
initialize();
看看下面的工作小提琴:
答案 1 :(得分:0)
我使用https://ubilabs.github.io/geocomplete/来获取place_id但是,这似乎没有得到正确的place_id
因此,在尝试获取地点详细信息时,重要的是获得正确的自动填充并获取正确的place_id