gpt4 book ai didi

javascript - Google map 中 KML 多边形样式的交互式更改

转载 作者:行者123 更新时间:2023-12-03 07:15:22 25 4
gpt4 key购买 nike

我有一个包含代表德国邮政区域的 KML Plolygons 的数据库。

我像这样初始化 map 以显示多边形。

var map = new google.maps.Map(document.getElementById("map"), mapOptions);

var plzLayer = new google.maps.KmlLayer({
url: 'http://xxxxx.de/index.php?option=com_map&task=kml.getplz&search=542',
map: map
});

一切都像魅力一样。我什至可以通过在 kml 文件中定义样式来设置多边形的样式。

enter image description here

我的问题是;现在如何以交互方式更改 map 上多边形对象的样式。例如,我想要鼠标悬停效果或将多边形设置为鼠标单击标记。

据我发现我可以添加点击事件。

plzLayer.addListener('click', function(kmlEvent) {
console.log(this.objInfo);
});

事件对象包含一个名为 featureData 的列表,其中包含 infoWindowHtml 以及对象的 ID。类似于 id:"g37a571f194fd2a75"

如何访问多边形以动态更改样式而无需重新加载?

最佳答案

您无法更改 KmlLayer 显示的数据(至少目前)。如果您想在显示 KML 后更改其样式,可以选择以下选项:

  1. 将其导入FusionTablesLayer (允许动态样式,但似乎与您当前的策略不兼容)
  2. 使用第三方 KML 解析器,如 geoxml3geoxml-v3它将 KML 显示为原生 Google Maps Javascript API v3 对象,可以设置样式

example using geoxml3 which changes polygon styles on mouseover

关于javascript - Google map 中 KML 多边形样式的交互式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com