【问题标题】:Trigger click event on a Google Maps KML placemark在 Google Maps KML 地标上触发点击事件
【发布时间】:2013-02-04 15:29:28
【问题描述】:

我有一张正在加载动态外部 KML 的地图,其地标定义如下:

<Placemark id="MapZoneID_23443">
    <name>Name Here</name>
    <description>Text Here</description>
    <styleUrl>#ff8080ff</styleUrl>
    <Polygon>
        <outerBoundaryIs>
            <LinearRing>
                <coordinates>
                    ....
                </coordinates>
            </LinearRing>
        </outerBoundaryIs>
    </Polygon>
</Placemark>

我想做的是有一个链接/下拉列表/任何可以点击或选择的内容,以基本上触发点击$('#MapZoneID_23443') ...但我不知道如何触发该点击或者如果这甚至是可能的。地图可能非常复杂,所以我宁愿不必使用 JS gmaps 标记预加载所有内容。谢谢!

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 kml


    【解决方案1】:

    目前不可能。

    在错误跟踪器上为该问题加注星标,以便为它投票并关注它的进展:https://code.google.com/p/gmaps-api-issues/issues/detail?id=3006

    【讨论】:

      【解决方案2】:

      我找到了解决方法。

      将此添加到&lt;style&gt; 部分中的地标

      <BalloonStyle><text>TEXT</text></BalloonStyle>
      

      在.js回调中点击后就可以访问这个值了

      event.featureData.info_window_html
      

      所以,在您的 KML 文件中

      <Placemark id="MapZoneID_23443">
         <BalloonStyle><text>TEXT</text></BalloonStyle>
         ...
      </Placemark>
      

      在 javascript 中

      google.maps.event.addListener(kmlLayer, 'click', function(event) {
        var content = event.featureData.info_window_html;
        console.log(content);
      });
      

      【讨论】:

        猜你喜欢
        • 2013-06-04
        • 2018-04-29
        • 2015-03-06
        • 1970-01-01
        • 2011-09-23
        • 1970-01-01
        • 2012-07-31
        • 2013-04-05
        • 1970-01-01
        相关资源
        最近更新 更多