Я читаю и форматирую свою коллекцию объектов с помощью:
function onEachFeature(feature, layer) {
if (feature.properties.popupContent == null)
{return null}
else
{return layer.bindPopup(feature.properties.popupContent)};
};
function MarkerStyle (feature,latlng) {
if (feature.properties.markerSymbol == null)
{return L.marker(latlng);}
else
{return L.marker(latlng, {icon: L.icon({iconUrl:
feature.properties.markerSymbol})});}
};
var daten = $.ajax(overlay).done(function(data) {
data = JSON.parse(data);
daten = L.geoJson(data,
{pointToLayer: MarkerStyle,
onEachFeature: onEachFeature}).addTo(map);
return daten});
L.control.layers(baseLayers, overlayMaps).addTo(map);
В моей коллекции объектов есть точки и многоугольники.Как добавить элемент управления наложением ТОЛЬКО для полигонов?Я пытался с фильтром, но ничего не получалось.Спасибо за чтение кода!
Gruss, wonk
Спасибо, теперь я понимаю, что функция фильтра используется только для уменьшения функций, отображаемых на карте.Правильно?Это не мое намерение.
Я хочу элемент управления для КАЖДОГО полигона в коллекции объектов.Я сейчас попробовал:
var polygons = L.geoJSON();
var overlayLayers = null;
var controls = L.control.layers(baseLayers,overlayLayers).addTo(map);
function onEachFeature(feature, layer) {
if(feature.properties.control != null)
{polygons.addData(feature)
.bindPopup(feature.properties.popupContent);
polygons.addTo(map);
polygon = polygons;
controls.addOverlay(polygon,feature.properties.control);
polygon = null;
};
if (feature.properties.popupContent == null)
{return null}
};
Пока это работает, я получаю контроль для каждого многоугольника.Но полигоны исчезают, только если я деактивирую ВСЕ элементы управления полигонами.Я хочу деактивировать отдельные полигоны!
Gruss, wonk