0

我在代表特定国家的谷歌地图上有一个 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?如果没有,我有什么选择?

谢谢!

4

2 回答 2

0

https://developers.google.com/kml/documentation/kml_tut#network_links

于 2012-04-17T17:43:32.940 回答
0

geoXML3 有一种方法。我首先在这里写了它。这个想法是在解析器读取 KML 文件时传递一个自定义函数。我写了一个简单的例子来读取这个 KML 文件,URL 存储在 description 和 styleURL 标记中。最大的缺点是我不知道如何让 geoXML3 读取其他标签。将鼠标悬停在标记上以获取一组 URL,然后单击以获取另一组。

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

于 2012-04-17T18:22:48.327 回答