Google maps 如何识别google maps中使用的多个名称以键入同一名称?

Google maps 如何识别google maps中使用的多个名称以键入同一名称?,google-maps,Google Maps,通常,一个地名(如孟买)在谷歌地图上会显示不同的名称,如孟买-马哈拉施特拉邦、孟买-印度或孟买 我们如何确定它是同一个地方(而不依赖已知变化的坐标)?类似于我可以用来查找应用程序的唯一键或字符串名称?此键存在。它是名称的地方ID。对于世界上的每个地址,位置Id都是唯一的。您可以使用此功能将地址转换为地点id: var request = { location: map.getCenter(), radius: '500', query: 'Google Sydney'

通常,一个地名(如孟买)在谷歌地图上会显示不同的名称,如孟买-马哈拉施特拉邦、孟买-印度或孟买


我们如何确定它是同一个地方(而不依赖已知变化的坐标)?类似于我可以用来查找应用程序的唯一键或字符串名称?

此键存在。它是名称的地方ID。对于世界上的每个地址,位置Id都是唯一的。您可以使用此功能将地址转换为地点id:

var request = {
    location: map.getCenter(),
    radius: '500',
    query: 'Google Sydney'
  };

  var service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);


// Checks that the PlacesServiceStatus is OK, and adds a marker
// using the place ID and location from the PlacesService.
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    console.log (results[0].place_id);
    var marker = new google.maps.Marker({
      map: map,
      place: {
        placeId: results[0].place_id,
        location: results[0].geometry.location
      }
    });
  }
}
这是另一个可能更复杂的例子:

//此示例使用Place Autocomplete小部件允许用户搜索
//查找并选择一个位置。然后,该示例显示一个信息窗口,其中包含
//用户拥有的地点ID和有关该地点的其他信息
//选中。
//此示例需要Places库。包括图书馆=地方
//第一次加载API时的参数。例如:
// 
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
中心:{lat:-33.8688,lng:151.2195},
缩放:13
});
var input=document.getElementById('pac-input');
var autocomplete=new google.maps.places.autocomplete(输入);
autocomplete.bindTo('bounds',map);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
var infowindow=new google.maps.infowindow();
var marker=new google.maps.marker({
地图:地图
});
marker.addListener('click',function()){
信息窗口。打开(地图、标记);
});
autocomplete.addListener('place\u changed',function(){
infowindow.close();
var place=autocomplete.getPlace();
如果(!place.geometry){
回来
}
if(place.geometry.viewport){
map.fitBounds(place.geometry.viewport);
}否则{
地图。设置中心(地点。几何。位置);
map.setZoom(17);
}
//使用位置ID和位置设置标记的位置。
标记。设定地点({
地点id:place.place\u id,
位置:place.geometry.location
});
marker.setVisible(true);
document.getElementById('place-name')。textContent=place.name;
document.getElementById('place-id')。textContent=place.place\u id;
document.getElementById('place-address').textContent=
place.u地址;
setContent(document.getElementById('infowindow-content');
信息窗口。打开(地图、标记);
});
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,正文{
身高:100%;
保证金:0;
填充:0;
}
.控制{
背景色:#fff;
边界半径:2px;
边框:1px实心透明;
盒影:0 2px 6px rgba(0,0,0,0.3);
框大小:边框框;
字体系列:Roboto;
字体大小:15px;
字体大小:300;
高度:29px;
左边距:17px;
边缘顶部:10px;
大纲:无;
填充:0 11px 0 13px;
文本溢出:省略号;
宽度:400px;
}
.控制:焦点{
边框颜色:#4d90fe;
}
.头衔{
字体大小:粗体;
}
#信息窗口内容{
显示:无;
}
#地图#信息窗口内容{
显示:内联;
}


地点ID

你是冠军!谢谢我会试试这个,我确实试过了。而且效果很好。再次感谢。