谷歌地图API文件中的字段我使用的是最新的谷歌地图API v3和努力实现以下目标:与地方-ID
地图中心用户在移动设备上加载页面。我在下面的代码中工作。
用户从地图上点击/触摸POI并查看信息窗口的功能。这也是因为它的谷歌地图的基本功能。
这是我被难倒了。我需要能够从信息窗口的第一个字段和第二个字段的Place-ID填充两个字段的POI名称。
这是我到目前为止已经发现: https://developers.google.com/maps/documentation/javascript/examples/places-placeid-finder
此链接允许的地方搜索和填充,标记产生信息窗口与搜索到的位置的地方-ID。但是,如果您单击标记外的任何POI,则不会有Place_ID。
其他密切的解决方案: Get placeId on google maps when POI is clicked
该解决方案可以让你点击看到的地方-ID,但有2个主要问题。首先,与上述第一个链接相同的POI为完全相同的位置生成与此解决方案不同的Place-ID。此外,无论POI是否靠近,它都会为地图上的任意点生成Place-ID。
这里是我的代码迄今:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 17,
streetViewControl: false,
mapTypeControl: false
});
var infoWindow = new google.maps.InfoWindow({map: map});
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
infoWindow.setPosition(pos);
infoWindow.setContent('Location found.');
map.setCenter(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: The Geolocation service failed.' :
'Error: Your browser doesn\'t support geolocation.');
}
我将不胜感激,可能的原因的地方,ID是这些方法和可能的解决方案,从得到真正地-ID之间总是不同被有何启示点击事件。谢谢!
这正是我所需要的!谢谢。我添加了我需要填充的4个字段,它可以工作。 https://jsbin.com/nuxadi/edit?html,output我现在要做的就是取消2 POI功能之间的方向。 –