javascript - 我们如何从 kml 文件直接调用 javascript 函数

标签 javascript google-maps kml jak

我向你解释我的问题,我必须在 map 中显示一些多边形,并且当我单击其中一个多边形的窗口信息中存在的链接时,我必须能够调用 JavaScript 方法。

当我直接使用 google api 时没有问题,您会在下面找到结果和代码:

http://jsfiddle.net/9fzy3/embedded/result/

var contentString = "您可以添加此区域:添加";
var infowindow = new google.maps.InfoWindow({
      内容:内容字符串
});
函数initializeGoogleMaps() {
        var PolygonCenter = new google.maps.LatLng(-74.43013763427734,45.95257568359375),
        占位符 = document.getElementById("print_map"),
         map 选项 = {
                中心:多边形中心,
                 map 类型控制:假,
                 map 类型 ID:google.maps.MapTypeId.ROADMAP
        },
         map =新的google.maps.Map(占位符,mapOptions),
        kmlLayer = 新的 google.maps.KmlLayer({
                    网址:“http://xxxxxxx/910413303.kml”
        });

        google.maps.event.addListener(kmlLayer, '点击', 函数(evt) {
            infowindow.setPosition(evt.latLng)
           infowindow.open( map );
         });

        kmlLayer.setMap( map );
}

但我想知道,是否仅在使用 kml 文件时才有可能具有相同的行为。

对我来说,我认为这是不可能的,但我想听听你的意见。因为我被迫只使用 kml 文件。

我认为解决我的问题的更好解决方案,可能是使用 geoxml3 api 解析 kml 文件,然后直接使用 api 使用解析后的元素。

预先感谢您的建议。

最佳答案

您的 KML 可以有一个默认信息窗口 - 检查 Placemarks 的结构 开始使用:名称/描述应显示在 v3 中。

此外,您可以使用 ExtendedData如果您不想对描述中的所有内容进行硬编码,则可以使用更结构化的信息窗口模板。

关于javascript - 我们如何从 kml 文件直接调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375448/

相关文章:

JavaScript:对于对象中的每个对象?

ios - 自定义 infoWindow 谷歌地图 IOS

javascript - 将空间保持在固定背景上方,您向上滚动

ruby-on-rails - Rails 4 gmaps4rails - 如何在 gmaps4rails gem 的标记信息窗口中包含指向 "show" View 的链接

jquery - 如何在 Google Maps API 中使信息窗口可编辑?

csv - 将 CSV 文件导入 Google map

javascript - 如何在 Google map 上添加自定义街道名称?

java - 如何从java制作动态kml

javascript - 如何使用 native react 在平面列表中显示具有动态名称的数组数据列表?

javascript - 保持滚动条始终在底部