谷歌地图从拖拽地点获取商业/企业名称?

时间:2017-06-12 15:02:50

标签: javascript google-maps google-maps-api-3

我已经使用谷歌地图API打了一堵墙,所以寻找答案。我正在为我正在创建的事件添加一个位置,我想要做的是如果用户使用文本搜索找不到位置,那么他们可以将标记拖动到所需的位置,从而设置细节。

以下是我的代码的粗略示例

function getLocationDetails(pos) {
   var geocoder = new google.maps.Geocoder;
   geocoder.geocode({'location': pos}, function(results, status) {
     if (status === 'OK') {
       if (results[0]) {
         console.log(results);
         getPlaceName(results[0].place_id);                 
       } else {
         window.alert('No results found');
       }
     } else {
       window.alert('Geocoder failed due to: ' + status);
    }
   });
}

function getPlaceName(pid){
  var infowindow = new google.maps.InfoWindow();
  var service = new google.maps.places.PlacesService(data.map);

  service.getDetails({
    placeId: pid
  }, function(place, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    console.log(place.name);
  }
});

}

所以基本上发生的是,在拖动标记并传递pos之后它会返回一个结果数组,所以我不知道应该使用哪一个,也似乎永远不会像我期望的那样返回一个地名例如,如果我将标记拖到O2上,那么我想要“伦敦的O2”,然后没有结果说“O2”就位!名字!任何想法,我做错了什么?

非常感谢

0 个答案:

没有答案