Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google Places API-获取电话号码和网站_Api_Google Places Api_Phone Call - Fatal编程技术网

Google Places API-获取电话号码和网站

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

我相信我需要打跟进电话,以获得我想要的结果。但是,我无法获得任何结果的电话号码和www url

我是一个新手,需要一些帮助来解释在这段代码中哪里可以得到正确的结果。请参见此处的演示站点:

以下是我的JS代码:

    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()

这里有一个更彻底的答案: