在Google地图中自定义KML图层时出现问题

时间:2011-01-10 22:05:38

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

我有一个文件,将新南威尔士州的选区边界覆盖在谷歌地图上。每个选民弹出的标记在缩小时确实会干扰地图的视觉效果。我已经找到了如何禁用信息窗口,但无法解决如何一起关闭标记的问题。

地图示例在这里:

http://www.codepress.com.au/nsw_lower_house_map.html

关闭标记后,有没有办法让整个选区多边形可以在JS中使用?

1 个答案:

答案 0 :(得分:2)

在将图层添加到地图后,使多边形可点击将事件侦听器绑定到图层

ctaLayer.setMap(map);
                google.maps.event.addListener(ctaLayer, 'click', function(kmlEvent) {
                    var text = kmlEvent.featureData.name;
                    alert(text);
                })

以上将提醒您单击的功能的名称(提供名称以KML设置)。请注意:要使多边形“有用”点击,他们需要设置填充。您的KML文件没有填充,因此唯一可点击的区域将是多边形的边框。您需要设置填充以使此功能有用。

通常,KML要素对象返回以下数据:

{
  author: {
    email: "nobody@google.com",
    name: "Mr Nobody",
    uri: "http://example.com"
  },
  description: "description",
  id: "id",
  infoWindowHtml: "html",
  name: "name",
  snippet: "snippet"
}

再次 - 提供这些是在KML中设置

要删除标记,您需要修改KML并删除所有地标及其包含的文件夹,其中没有指定多边形 - 仅限点数据(呈现为标记)。确保在删除后重新验证XML。

这是没有标记http://www.mediafire.com/?f9ewd0c5ymk3ccv的文件。但是,您需要确保您的多边形具有填充集,否则您将只能单击边框。