javascript - How to get GeoJSON properties to appear in openlayers 3 popup when using CLUSTERS? -


i've built relatively simple openlayers map , i'm attempting geojson properties appear in on-click popup no matter try, either returns geometry name object object or undefined. think openlayers stores cluster data array of features rather multiple individual features? here code on-click function:

var    container = document.getelementbyid('popup'),    content_element = document.getelementbyid('popup-content'),    closer = document.getelementbyid('popup-closer');  closer.onclick = function() { overlay.setposition(undefined); closer.blur(); return false; };  var overlay = new ol.overlay({ element: container, positioning: 'bottom-center', stopevent: false });  map.addoverlay(overlay); // display popup on click map.on('click', function(evt) { var feature = map.foreachfeatureatpixel(evt.pixel,   function(feature, layer) {     return feature;   }); if (feature) { var geometry = feature.getgeometry();     var coord = geometry.getcoordinates();      var content =coord; //------------------------------------------------------------------------------     content += '<h5>' + feature.get('mmsi') + '</h5>'; //--------^^^^^^^ not work clusters ^^^^^^------------------------ //------------------------------------------------------------------------------     content_element.innerhtml = content;     overlay.setposition(coord); } else {  } 

i don't need properties of actual clusters need properties of single point(once zoomed in , clusters have separated individual points). appreciated!

try way:

map.on('click', function(evt) {     var ft = map.foreachfeatureatpixel(evt.pixel, function(f, l){return f;});     if (ft) {         var features = ft.get('features'); //this official examples         features.foreach(function(feature){              //assumption there 'name' property             console.info(feature.get('name'));          });     } }); 

Comments