【问题标题】:Passing URL value to Google Maps Marker via KML通过 KML 将 URL 值传递给 Google Maps Marker
【发布时间】:2012-04-17 17:37:13
【问题描述】:

我在代表特定国家的谷歌地图上有一个 KML 标记层。当用户单击标记时,我希望它将他们带到每个标记的特定 URL。我在这里看到了解释如何在创建标记时添加 onclick 事件的答案,但我需要从 KML 文件中为每个标记添加单独的 onclick 事件,并从 KML 文件中为 onclick 事件传递 URL 值。

我将 URL 值存储在 KML 文件中,如下所示: http://example.com/countries/usa/

我发现我可以向 KML 层添加一个事件侦听器,它会响应特定的标记,但是当我传递标记对象并将其记录到控制台时,它没有任何原来存在的信息KML 文件。

google.maps.event.addListener(klmLayer, 'click', function(countryObject) {
  var marker = countryObject;
  console.log(marker);
});

有什么方法可以将 KML 文件中的值传递给 markerObject,以便我可以在上面的 onclick 函数中使用它来将用户定向到特定 URL?如果没有,我有什么选择?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    【讨论】:

    • 谢谢 Rui 的回复,但是在我看来,网络链接是用来链接 KML 文件的。如何使用它来传递指向单击 KML 图层时返回的对象的链接?
    【解决方案2】:

    geoXML3 有一种方法。 I first wrote about it here. 这个想法是在解析器读取 KML 文件时传递一个自定义函数。我写了一个simple example,上面写着this KML file,URL 存储在description 和styleURL 标签中。最大的缺点是我不知道如何让 geoXML3 读取其他标签。将鼠标悬停在标记上以获取一组 URL,然后单击以获取另一组。

    我面临的另一个障碍是意识到由于 Ajax,我需要将 html 和 KML 放在同一个服务器中。离线工作时它什么也没做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2014-05-11
      • 2016-01-13
      • 1970-01-01
      • 2016-05-16
      • 2016-01-26
      • 1970-01-01
      相关资源
      最近更新 更多