Я хочу взять все данные для некоторых полигонов (координаты, popupContent, заголовок элемента управления, стили) из файла * .geojson.Я хочу отдельный элемент управления для каждого полигона.Всплывающие окна и элементы управления работают с функцией следующей функции:
function onEachFeature(feature, layer) {
var ObjektLayer = L.geoJSON();
ObjektLayer.addData(feature);
if (feature.geometry.type == "Polygon" )
{if (feature.properties.control != null)
{controls.addOverlay(ObjektLayer,feature.properties.control);
};
if (feature.properties.popupContent != null)
{ObjektLayer.bindPopup(feature.properties.popupContent);
};
ObjektLayer.addTo(map); // nicht für Marker
};
};
Если я добавлю функцию стиля, это не сработает:
function style (feature) {
if (feature.properties.stroke != null) {
return {color: feature.properties.stroke,
weight: feature.properties.strokeWidth,
opacity: feature.properties.strokeOpacity,
fillOpacity: feature.properties.fillOpacity,
fill: feature.properties.fill,
fillColor: feature.properties.fillColor
}
}
else
return {};
}
Функция стиля работает только при использованиипростая функция, например:
function onEachFeature(feature, layer) {layer.bindPopup().addTo(map);}
Конечно, в этом случае элементы управления не работают.Мой призыв к * .geojson:
$.ajax(overlay).done(function(data) {
data = JSON.parse(data);
L.geoJson(data,
{pointToLayer: MarkerStyle,
style: style,
onEachFeature: onEachFeature
});
});
Марки в коде работают хорошо.Что делать?Спасибо за проверку кода.
Gruss, wonk