使用Maps API,在 Map click
事件中,我在Google Map 上绘制了一个标记 . 然后我在标记本身上附加一个 click
事件以打开一个infoWindow,这将允许用户将该位置保存为Google Map 中的"favorite" . 这基于我发现的关于Signed-In Maps.的文档
In my example,您可以看到,如果您在Google Map 上已存在的位置附近绘制标记(请尝试使用Google 's HQ), then the '保存到Google Map ' hyperlink works properly in the infoWindow. If you draw the marker on map and it is not close to a place (try the water body), the '保存到Google Map '链接不起作用,因为它仍处于非活动状态 . 注意:如果您需要要尝试此操作,您必须登录Google帐户 .
为什么是这样?我找不到合适的答案 . support documentation指出:
在 Map 上单击或搜索地点 . 这可以是商家,地点或一组纬度和经度坐标 .
在 Map click
事件中,我基本上传递了一对lat&lng坐标 . 所以它不应该在 Map 上的任何地方工作,无论我点击哪里?
以下是 Map 点击事件的代码:
google.maps.event.addListener(map, 'click', function (event) {
var marker = new google.maps.Marker({
map: map,
place: {
location: {
lat: event.latLng.lat(), // Capture lat on click event
lng: event.latLng.lng() // Capture lng on click event
},
query: 'Google, Sydney, Australia'
},
attribution: {
source: 'Google Maps JavaScript API',
webUrl: 'https://developers.google.com/maps/'
}
});
var infoWindow = new google.maps.InfoWindow({
content: 'This is a test.'
});
marker.addListener('click', function () {
infoWindow.open(map, marker);
});
});
1 回答
这是设计的 . 相关文件是here . 注意它说:
(强调我的)
换句话说,要求查询字符串解析为接近location参数的点 . 目的是确保用户不被误导以保存实际上远离标记放置在 Map 上的位置的地方 .