我正试图这样做,以便有人点击地图,然后弹出一个infoWindow告诉他们latlng。现在,只是想弄清楚如何让一个infoWindow出现。我在这里发现了一个类似的问题,标记和编辑了一点功能,但我遗漏了一些我确信很简单的东西,我只是不能指出。这是代码:
function InfoWindow(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.infoWindow({
position: location,
content: "sam"
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
InfoWindow(event.latLng);
});
}
非常感谢! 感谢
答案 0 :(得分:0)
我正在使用InfoBubble,它看起来比InfoWindow更好,它也可以更轻松地处理。试试吧。
答案 1 :(得分:0)
事件是LatLng
google.maps.event.addListener(map, 'click', function(event) {
InfoWindow(event);
});
答案 2 :(得分:0)
传递事件的LatLng(event.latLng)是正确的,而不是整个事件。为了帮助输出,我包含了将lat和lng分成字符串的代码。我修复了其他一些事情:需要在google.maps.InfoWindow中成为资本“我”;如果窗口已经存在,则将内容设置为新的latLng;添加了代码以在最后实际打开窗口。这应该照顾你的一切
function InfoWindow(location) {
var lat = location.lat().toString();
var lng = location.lng().toString();
var new_content = "Lat: " + lat + "<br />Long: " + lng
if ( marker ) {
marker.setPosition(location);
marker.setContent(new_content);
} else {
marker = new google.maps.InfoWindow({
position: location,
content: new_content
});
}
marker.open(map);
}
google.maps.event.addListener(map, 'click', function(event) {
InfoWindow(event.latLng);
});
答案 3 :(得分:0)
Map MouseEvent具有latLng属性
google.maps.event.addListener(map, 'click', function(event)
{
new google.maps.InfoWindow({
map:map,
content:"coordinates:"+event.latLng.toUrlValue(),
position:event.latLng});});
}
“map”是对google.maps.Map的引用。
在this map上通过将其粘贴到地址栏中进行测试,然后点击地图:
javascript:google.maps.event.addListener(map, 'click', function(event) {new google.maps.InfoWindow({map:map, content:"coordinates:"+event.latLng.toUrlValue(),position:event.latLng});});