Google Places API-获取电话号码和网站
我相信我需要打跟进电话,以获得我想要的结果。但是,我无法获得任何结果的电话号码和www url 我是一个新手,需要一些帮助来解释在这段代码中哪里可以得到正确的结果。请参见此处的演示站点: 以下是我的JS代码:Google Places API-获取电话号码和网站,api,google-places-api,phone-call,Api,Google Places Api,Phone Call,我相信我需要打跟进电话,以获得我想要的结果。但是,我无法获得任何结果的电话号码和www url 我是一个新手,需要一些帮助来解释在这段代码中哪里可以得到正确的结果。请参见此处的演示站点: 以下是我的JS代码: var store = (function () { var searchBox, infowindow, markers = [], myLatlng = new google.maps.LatLng(50.0019, 10.1419), myOption
var store = (function () {
var searchBox,
infowindow,
markers = [],
myLatlng = new google.maps.LatLng(50.0019, 10.1419),
myOptions = { zoom: 6, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControl: false, streetViewControl:false },
customIcons = { iconblue: './icons/blue.png' };
var init = function() {
map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
input = (document.getElementById('pac-input'));
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
searchBox = new google.maps.places.SearchBox((input));
store.listener();
},
listener = function() {
google.maps.event.addListener(searchBox, 'places_changed', function() {
//search for places
var places = searchBox.getPlaces();
for (var i = 0, marker; marker = markers[i]; i++) {
marker.setMap(null);
}
//set markers zero
markers = [];
$('.addaddress').empty();
//get new bounds
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
store.create_marker(place);
//append to the table
$('.addaddress').append('<tr><td>'+ place.name +'</td><td>'+ place.formatted_address +'</td><td>'+ place.formatted_phone_number +'</td><td>'+ place.website +'</td></tr>');
bounds.extend(place.geometry.location);
}
//set the map
map.fitBounds(bounds);
});
},
create_marker = function(info) {
//create a marker for each place
var marker = new google.maps.Marker({ map: map, icon: customIcons.iconblue, title: info.name, position: info.geometry.location });
//infowindow setup
google.maps.event.addListener(marker, "click", function() {
if (infowindow) {
infowindow.close();
}
infowindow = new google.maps.InfoWindow({content: info.name});
infowindow.open(map, marker);
});
//push the marker
markers.push(marker);
}
return {
init: init,
listener: listener,
create_marker: create_marker
};
})();
google.maps.event.addDomListener(window, 'load', store.init);
var存储=(函数(){
var搜索框,
信息窗口,
标记=[],
myLatlng=新的google.maps.LatLng(50.0019,10.1419),
myOptions={zoom:6,center:myLatlng,mapTypeId:google.maps.mapTypeId.ROADMAP,mapTypeControl:false,streetViewControl:false},
customIcons={iconblue:'./icons/blue.png'};
var init=函数(){
map=new google.maps.map(document.getElementById(“地图画布”),myOptions);
input=(document.getElementById('pac-input');
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
searchBox=newgoogle.maps.places.searchBox((输入));
store.listener();
},
侦听器=函数(){
google.maps.event.addListener(搜索框,'places_changed',函数(){
//找地方
var places=searchBox.getPlaces();
for(var i=0,marker;marker=markers[i];i++){
marker.setMap(空);
}
//将标记置零
标记=[];
$('.addaddress').empty();
//获得新的边界
var bounds=new google.maps.LatLngBounds();
for(var i=0,place;place=places[i];i++){
存储。创建_标记(位置);
//追加到表中
$('.addaddress')。追加(''+place.name+''+place.formatted\u address+''+place.formatted\u电话号码+''+place+place.website+'');
扩展(place.geometry.location);
}
//设定地图
映射边界(bounds);
});
},
创建标记=功能(信息){
//为每个位置创建一个标记
var marker=new google.maps.marker({map:map,icon:customIcons.iconblue,title:info.name,position:info.geometry.location});
//信息窗口设置
google.maps.event.addListener(标记“单击”,函数(){
如果(信息窗口){
infowindow.close();
}
infowindow=newgoogle.maps.infowindow({content:info.name});
信息窗口。打开(地图、标记);
});
//按下标记
标记器。推(标记器);
}
返回{
init:init,
听众:听众,
创建\u标记:创建\u标记
};
})();
google.maps.event.addDomListener(窗口'load',store.init);
谷歌的API根据您使用的调用返回不同的位置元数据。要获取更多地点详细信息,您需要获取该地点的placeId
,并使用该ID调用place.getDetails()
这里有一个更彻底的答案: