有没有办法读取KML /文档/名称来在OpenLayers 3地图中设置图层标题?
我有一些动态的KML层,我想阅读来自KML层本身的标题。
我目前正在使用这样的代码来加载我的KML层。
layer = new ol.layer.Vector({
source: new ol.source.Vector({
url: kmlurl,
format: new ol.format.KML({
extractStyles: true
})
})
});
map.addLayer(layer);目前使用OL 3.6.0。有没有什么事件可以让我获得原始的KML,这样我就可以手动解析它了?
谢谢!
发布于 2017-01-26 16:10:26
使用jQuery可以做到这一点。使用以下代码。
这段代码接受带有标签'Folder‘的第一个元素,并给出第一个标签'name’的内容。
var url = 'data/my_kml_file.kml'; // your kml file
var elemTagName = 'Folder'; // the element you want the name
// jQuery
$.get( url , function( kmlDatas ) {
var myElem = kmlDatas.getElementsByTagName( elemTagName )[0];
var myElemName = myElem.getElementsByTagName( "name" )[0].innerHTML;
console.info( "KML " + elemTagName + " name: " + myElemName );
});'elemTagName‘取值为'Folder’,因为我在我的KML文件的'Document‘中看不到'name’标签。取而代之的是“文件夹”>“名称”。
如果您真的想使用'Document‘> 'name’,只需将elemTagName替换为'Document‘即可。
https://stackoverflow.com/questions/32465239
复制相似问题