Openlayers 3 OpenLayer 3读取KML/文档/名称
有没有办法读取KML/Document/name来在OpenLayers 3地图中设置图层标题 我有一些动态的KML层,我想阅读KML层本身的标题 我目前正在使用这样的代码来加载我的KML层Openlayers 3 OpenLayer 3读取KML/文档/名称,openlayers-3,Openlayers 3,有没有办法读取KML/Document/name来在OpenLayers 3地图中设置图层标题 我有一些动态的KML层,我想阅读KML层本身的标题 我目前正在使用这样的代码来加载我的KML层 layer = new ol.layer.Vector({ source: new ol.source.Vector({ url: kmlurl, format: new ol.format.KML({ extractStyles: true
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中,以便手动解析它
谢谢 使用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”。我认为目前查看代码不可能做到这一点,但欢迎使用。我编辑了这个问题,添加了一个用于加载KML数据的代码的简化示例。是否有任何事件可用于手动解析KML?