【问题标题】:Parsing a .kml file with geoxml3 for markerclusterer: markers not popping up infowindow使用 geoxml3 为 markerclusterer 解析 .kml 文件:标记未弹出信息窗口
【发布时间】:2012-12-04 22:07:58
【问题描述】:

我有一张地图,其中包含从 .kml 文件加载的标记,我正在使用 geoxml3 对其进行解析,并使用 markerclusterer 对它们进行聚类。我添加了一些代码来尝试在用户单击标记时将 kml 文件中每个标记上的 and 标记放在 infoWindow 上。但是由于某种原因,当我单击标记时,它不会创建 infoWindow。我之前添加了一个console.log 以确保它正在识别点击,它只是似乎不想制作信息窗口。

您可以在以下位置查看该页面 http://tanagerproductions.com/test/site2/testmap.html

.kml 文件位于 http://tanagerproductions.com/test/site2/js/locations.kml

【问题讨论】:

    标签: google-maps-api-3 kml markerclusterer geoxml3


    【解决方案1】:

    看起来您正在使用 geoxml3 的主干版本。这不再是真正的支持。如果您使用 polys 或 kmz 分支,它们都受支持。

    Here 是使用 polys 分支的页面版本。

    这里是更新后的 createMarker 函数:

    createMarker:function(placemark){
        var point = placemark.latlng;
        var info = "<pre" + placemark.name + "<br /><br />" + placemark.description + "</pre>";
        var marker = new google.maps.Marker({position:point});
    
        google.maps.event.addListener(marker, "click", function(){
            infoWindow.setContent(info);
            infoWindow.open(map, marker);
        });
        markerclusterer.addMarker(marker);
    }
    

    您可能只需要 infoWindow.content = info; => infoWindow.setContent(info);改变。

    (历史记录,“主干”版本在 github 上不存在,因此下面的链接不再起作用)
    Working version using the trunk geoxml3 version,所以唯一的问题是 API 不再支持 infoWindow.content .

    【讨论】:

      猜你喜欢
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      • 2013-03-22
      • 1970-01-01
      • 2017-10-25
      相关资源
      最近更新 更多