Исходное условие
Я работаю над листовой картой JavaScript. В принципе, у меня есть два разных файла geo json: у меня есть несколько полигонов (переменная FailuresLayer
), каждый из которых имеет свой уникальный идентификатор, и другой файл geo json (переменная Connections), представляющий строки, начинающиеся с полигонов (строки определены). по координатам). Кроме того, у гео json линий есть свойство, которое относится к соединяющемуся многоугольнику (называемому Levee_Failure
).
Цель
Я хочу переместить Наведите курсор мыши на многоугольник, чтобы линейные объекты были добавлены на карту. Однако следует добавлять только те линейные объекты, где свойство Levee_Failure
соответствует идентификатору многоугольника, в котором находится мышь. При перемещении мыши от многоугольника линии должны снова исчезнуть.
Текущее состояние
До сих пор мне удавалось создавать события наведения мыши и отключения мыши. Поэтому линии нарисованы при наведении мыши и удалены при наведении мыши. Код выглядит следующим образом:
function select(feature, layer) {
var Connections = L.geoJson(Buildings2Levees, { style: LinesStyle });
layer.on("mouseover", function() {
Connections.addTo(map);
});
layer.on("mouseout", function() {
map.removeLayer(Connections);
});
}
var FailuresLayer = L.geoJson(LeveeWithHouses, {
onEachFeature: select
}).addTo(map);
Однако я застрял в фильтрации строк (переменная Connection в коде выше). Насколько я понял, в определении переменной Connections должен быть фильтр. Что-то вроде
var Connections = L.geoJson(Buildings2Levees, {filter: filter} {style: LinesStyle});
Как отфильтровать те линии, свойства которых (feature.properties.Levee_Failure
) совпадают со свойствами многоугольника, над которым я сейчас нахожу (feature2.properties.LF
)?