gpt4 book ai didi

javascript - 如何从 KML 文件中获取所有要素/多边形的列表?

转载 作者:行者123 更新时间:2023-11-28 02:28:27 25 4
gpt4 key购买 nike

我使用此代码将 KML 文件加载到 OpenLayers 中:

var kmlLayer =  new OpenLayers.Layer.Vector("KML", {
projection: map.displayProjection,
isBaseLayer: false,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "mykml.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
maxDepth: 2
})
})
});

现在我必须列出此文件中包含的多边形的所有名称。

尝试 console.log(kmlLayer.features) 我可以看到这些功能,但我不知道如何访问它们。请参阅http://s14.directupload.net/file/d/3148/2et4d7wf_png.htm因为我还没有被允许上传图片。

如何获取这些功能的名称和描述?

提前致谢。

最佳答案

我认为你的问题是 HTTP 调用与你的调用异步发生

kmlLayer.features[0]

所以看起来很空。解决方案是仅在 KML 完全加载后才访问要素数组,如下所示:

kmlLayer.events.register("loadend", kmlLayer, function (e) {
console.log(kmlLayer.features[0].attributes.name)
});

无论您使用 Firefox 还是 Chrome,只需在加载 map 后在开发者 Web 控制台中输入 kmlLayer.features[0],它就会告诉您它实际上不是未定义的。

请告诉我这是否有帮助!

关于javascript - 如何从 KML 文件中获取所有要素/多边形的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546515/

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