OpenLayer 3读取KML /文档/名称

时间:2015-09-08 18:55:13

标签: openlayers-3

有没有办法读取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,以便我可以手动解析它?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用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'标签。相反,有一个'文件夹'> '名称'。

如果你真的想使用'文件'> 'name',只需用'Document'替换elemTagName。