Я создаю средство просмотра Leaflet, где я использую ajax, чтобы заставить геосервер OWS иметь возможность настраивать стиль отображения с помощью следующей функции:
function GetGeoserverJson(layer,geoserverURL,geoserverLayerName,layerAtributes,layerStyle) {
defaultParameters = {
service: 'WFS',
version: '1.0.0',
request: 'GetFeature',
maxFeatures: 120000,
outputFormat: 'text/javascript'
};
parameters = L.Util.extend(defaultParameters,geoserverLayerName);
console.log(parameters)
$.ajax({
url: geoserverURL + L.Util.getParamString(parameters),
dataType: 'jsonp',
jsonpCallback: 'parseResponse',
success: function (data) {
geoJsonLayer= new L.GeoJSON(data,{pointToLayer: function (geoJsonPoint, latlng) {return
L.circleMarker(latlng);}, onEachFeature: layerAtributes, style:layerStyle})
layerName.addLayer(geoJsonLayer);
}
});
}
где:
layer= L.markerClusterGroup();
geoserverURL= 'http://urladdress/geoserver/workspace/ows'
geoserverLayerName={typeName:'workspace:mylayer'}
layerAtributes= layer atributes to include in a popup (function)
layerStyle= layer style (function)
Когда я использую его один раз, он отлично работает, но если я запускаю функцию с двумя слоями, она не работает должным образом. Я не очень много знаю о ajax, и я новичок в javascript и Leaflet, поэтому вряд ли могу понять, что я делаю неправильно. Кто-нибудь может мне помочь?