【问题标题】:How to add google map infowindow dynamically?如何动态添加谷歌地图信息窗口?
【发布时间】:2011-11-09 18:00:40
【问题描述】:

在这里,我使用 Google 地图 API 在我的网站中显示 Google 地图。在这里,我可以通过以下代码静态添加谷歌地图:

        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);

我在数组中有一组标记值。当我尝试动态创建时,只显示最后一个信息窗口。

等待回复……

【问题讨论】:

  • 这听起来像是一个闭包问题,但是你的数组在哪里(以及预期的for-loop)?
  • 这段代码来自之前版本的google maps api。 v3 已经上线很长一段时间了:code.google.com/apis/maps/documentation/javascript/basics.html 该页面上有很好的示例。
  • 你能设置一个jsfiddle吗..我不确定我需要使用什么谷歌地图api

标签: javascript jquery asp.net google-maps


【解决方案1】:

这与 Javascript 中的闭包有关,这是一个常见问题。请参阅Google Maps Javascript API Docs 以获取解决方案。

有关闭包的更多信息,我建议您在 Stackoverflow 上进行搜索(例如评论 here);)

【讨论】:

    猜你喜欢
    • 2013-03-01
    • 2018-06-05
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多