У моей карты есть простой фильтр для небольшого набора данных полигона GeoJSON, управляемый кнопками меню-ui.Как сохранить стиль GeoJSON после фильтра?
$('.menu-ui a').on('click', function() {
// For each filter link, get the 'data-filter' attribute value.
var filter = $(this).data('filter');
$(this).addClass('active').siblings().removeClass('active');
featureLayer.setFilter(function(f) {
// If the data-filter attribute is set to "all", return
// all (true). Otherwise, filter on markers that have
// a value set to true based on the filter name.
return (filter === 'all') ? true : f.properties.DISTRICT == filter;
});
return false;
});
стили многоугольники устанавливаются перед этим:
var featureLayer = L.mapbox.featureLayer()
.loadURL('citycouncils.geojson')
.addTo(map);
function getMyColor(myargument) {
if (myargument === '1') {
return '#996767'
};
if (myargument === '2') {
return '#679967'
};
if (myargument === '3') {
return '#676799'
};
if (myargument === '4') {
return '#676794'
};
if (myargument === '5') {
return '#676799'
};
}
featureLayer.on('ready', function() {
featureLayer.eachLayer(function(polygon) {
polygon.bindPopup('District ' + polygon.feature.properties.DISTRICT);
console.log(typeof setStyle);
polygon.setStyle({
opacity: 0.55,
weight: 2,
opacity: 1,
fillOpacity: 0.55,
fillColor: getMyColor(polygon.feature.properties.DISTRICT),
color: 'white'
});
});
});
Стили GeoJSON правильно на карте нагрузки, но они теряют стиль, когда меню пользовательский интерфейс переключается и GeoJSON фильтруется. Как сохранить стили в процессе фильтрации?
Редактировать: The filter function works fine. Как пройти стиль в процессе?
Имеет ли 'setFilter' метод фильтра правильно? – iH8
Да, setFilter работает: http://tinyurl.com/m3d5yy9 – Bergen88
Хорошо, мне было интересно, что вы не приняли ответ, где я его предложил, и это может быть частью вашей текущей проблемы. Если вы принимаете ответы, это отличная обратная связь с ответчиком, плюс вы вносите свой вклад в SO, потому что, когда у других людей есть аналогичная проблема, они также могут найти приемлемое решение и не должны снова задавать один и тот же вопрос. Сохраняет чистоту и аккуратность. См. Http://stackoverflow.com/help/someone-answers – iH8