这里我使用 Google map API 在我的站点中显示 Google map 。在这里,我可以通过以下代码静态添加谷歌地图:
var map = new GMap2(document.getElementById('map'));
map.addControl(new GSmallMapControl());
map.setCenter(new GLatLng(21.183008, 81.36186199999997), 6);
var marker = new GMarker(new GLatLng(21.183008, 81.36186199999997), {});
GEvent.addListener(marker, "mouseover", function () {
marker.openInfoWindow("Hi ");
});
GEvent.addListener(marker, "mouseout", function () {
map.closeInfoWindow();
});
map.addOverlay(marker);
var marker1 = new GMarker(new GLatLng(21.25, 81.62), {});
GEvent.addListener(marker1, "mouseover", function () {
marker1.openInfoWindow("HI All");
});
GEvent.addListener(marker1, "mouseout", function () {
map.closeInfoWindow();
});
map.addOverlay(marker1);
我在数组中有一组标记值。当我尝试动态创建时,只显示最后一个信息窗口。
等待响应....
最佳答案
这与 Javascript 中的闭包有关,这是一个常见问题。查看Google Maps Javascript API Docs寻求解决方案。
关于闭包的更多信息,我建议您在 Stackoverflow 上搜索(例如评论 here);)
关于javascript - 如何动态添加谷歌地图信息窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293575/