I am trying to get the information through a WMS stream for a single layer, but when I click on any point on the map my popup appears empty.
map.on('singleclick', function(evt) {
// Hide existing popup and reset it's offset
popup.hide();
popup.setOffset([0, 0]);
// Attempt to find a marker from the planningAppsLayer
var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature, layer) {
return feature;
});
if (feature) {
var coord = feature.getGeometry().getCoordinates();
var props = feature.getProperties();
var info = "<h2><a href='" + props.caseurl + "'>" + props.casereference + "</a></h2>";
info += "<p>" + props.locationtext + "</p>";
info += "<p>Status: " + props.status + " " + props.statusdesc + "</p>";
// Offset the popup so it points at the middle of the marker not the tip
popup.setOffset([0, -22]);
popup.show(coord, info);
} else {
var url = districtLayer
.getSource()
.getGetFeatureInfoUrl(
evt.coordinate,
map.getView().getResolution(),
map.getView().getProjection(),
{
'INFO_FORMAT': 'text/javascript',
'format_options': 'callback:parseResponse',
'propertyName': 'NAME,AREA_CODE,DESCRIPTIO'
}
);
reqwest({
url: url,
type: 'jsonp',
jsonpCallbackName: 'parseResponse'
}).then(function (data) {
var feature = data.features[0];
var props = feature.properties;
var info = "<h2>" + props.NAME + "</h2><p>" + props.DESCRIPTIO + "</p>";
popup.show(evt.coordinate, info);
});
}
});
How could I get information for a specific layer ?
application/json
, but is that format supported by the WMS (check the GetCapabilities response).