gpt4 book ai didi

javascript - 从谷歌地图获取多边形

转载 作者:行者123 更新时间:2023-12-03 06:23:33 24 4
gpt4 key购买 nike

我有一个包含一堆多边形的 kml 文件。我设法创建一个谷歌地图并按照文档加载此 kml。

(function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 11,
center: {lat: 41.876, lng: -87.624}
});

var ctaLayer = new google.maps.KmlLayer({
url: 'http://myurl.dev/polygons.kml',
map: map
});

})();

现在,我想从该 kml 中检索所有多边形,以便询问某个点(纬度、经度)是否在其中一些多边形内。

google.maps.geometry.poly.containsLocation(point, OnePolygonFromMyMap);

问题是我没有找到任何文档来获取 map 包含的所有形状。这可能吗?

最佳答案

当使用 KmlLayer 放置多边形时,您无法访问 map 上的多边形,google.maps.KmlLayer使用基于图 block 的渲染,除非单击,否则您无法(至少目前)访问多边形的坐标。

但请注意,将多边形渲染为 native google.maps.Polygon 对象(如第三方库所做的那样)可能会降低性能,尤其是在您的 KML 很复杂的情况下。

您可以使用第三方 KML 解析器,例如 geoxml3geoxml-v3将多边形渲染为原生 google.maps.Polygon 对象,并获取它们的中心。这将在复杂的 KML 中产生性能问题。

example using geoxml3

关于javascript - 从谷歌地图获取多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38754441/

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