I'm attempting to get my geoJSON properties to appear in my on-click popup but no matter what I try, it either returns the geometry name object Object or Undefined. I think openlayers stores cluster data as an array of features rather than multiple individual features? Here is the code for my 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 clickmap.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 += '' + feature.get('MMSI') + '
';//--------^^^^^^^ This does not work for clusters ^^^^^^------------------------//------------------------------------------------------------------------------ content_element.innerHTML = content; overlay.setPosition(coord);} else {}I don't need the properties of the actual clusters but I do need the properties of a single point(once zoomed in and the clusters have separated into individual points). Any help is much appreciated!
أكثر...
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 clickmap.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 += '' + feature.get('MMSI') + '
';//--------^^^^^^^ This does not work for clusters ^^^^^^------------------------//------------------------------------------------------------------------------ content_element.innerHTML = content; overlay.setPosition(coord);} else {}I don't need the properties of the actual clusters but I do need the properties of a single point(once zoomed in and the clusters have separated into individual points). Any help is much appreciated!
أكثر...