POI в OpenLayer 3

Если загрузить точки из файла KML в векторный слой

var layerPOI = new ol.layer.Vector({
  source: new ol.source.KML({
    projection: projection,
    url: 'data/KML/mydata.kml'
  })
})

Как сделать полный список всех загруженных точек (POI) и загруженных свойств (из data/KML/mydata.kml)? Я думаю, например, в таблицу - в виде карты (отображать слой) я могу уже

Большое спасибо за ответ


person eXMarty    schedule 05.02.2015    source источник


Ответы (2)


ol.source.KML имеет метод getFeatures() который дает вам все функции в вашем KML. Затем вы можете использовать getProperties() или < href="http://openlayers.org/en/master/apidoc/ol.Feature.html?unstable=true#get" rel="nofollow">get() для функции, чтобы прочитать свойства .

person tsauerwein    schedule 06.02.2015
comment
Спасибо большое. Но элемент GEOMTERY возвращает Object. Я пытаюсь получить дополнительную информацию о точке, но не могу - пожалуйста, помогите. Также больше тегов из файла KML - Например, стиль точки - как определить отображаемую иконку. Спасибо большое - person eXMarty; 08.02.2015

(Частичное) решение:

allPOIs = layerPOI.getSource().getFeatures();
// or if define a source separatly
// allPOIs = sourcePOI.getFeatures(); 
onePOI = allPOIs[0]; // first element in Array
propertiesOfOnePOI = onePOI.getKeys();

propertiesOfOnePOI.forEach(function (elementName, elementIndex){
    console.log( "element index: " + elementIndex + " | element name: " + elementName + " | element value: " + onePOI.get(elementName) );
}); 

Но элемент GEOMTERY возвращает Object. Я пытаюсь получить дополнительную информацию о точке, но не могу - Также больше тегов из файла KML - Например, стиль точки - как определить отображаемую иконку?

Пожалуйста, еще помогите ;)

person eXMarty    schedule 07.02.2015