LeaFlet + LeaFlet.Search, поиск по нескольким слоям
Приветствую уважаемое сообщество.
Пытаюсь разобраться с LeaFlet. С выводом самой карты и маркеров всё понятно то вот с LeaFlet.search я проблемы решить не могу. На карту накладывается два набора маркеров, в свою очередь их получаю из GeoJSON файла Пример GeoJSON
{
"type": "Feature",
"properties": {
"name": "Что-то этакое",
"category": "категория 1",
"popupContent": "Какое-то описание",
"icon": "green"
},
"geometry":{
"type": "Point",
"coordinates": [37.60869026184082,48.8507382697713]
}
}
Часть получения GeoJSON данных
function onEachFeature(feature, layer) {
if (feature.properties && feature.properties.popupContent) {
layer.bindPopup(feature.properties.popupContent);
}
};
function setMarkerIcon(feature, latlng) {
var marker = new L.Marker(latlng, {icon: set_icon(feature.properties.icon)});
return marker
}
function getMarkers(json_url) {
var sLayer = new L.GeoJSON.AJAX(json_url, {
onEachFeature: onEachFeature,
pointToLayer: setMarkerIcon,
});
return sLayer
}
Добавляю поисковый контрол на карту
markersLayer = getMarkers('ololo.olol/data.geojson');
map.addControl( new L.Control.Search({
layer: markersLayer,
propertyName: 'name',
}) );
Поиск по полю 'name', работает просто замечательно. Вот с этого места у меня начинаются проблемы, я не понимаю как добавить второй набор координат в поиск. К примеру если объединить наборы в группу
markersLayer0 = getMarkers('ololo.olol/data0.geojson');
markersLayer1 = getMarkers('ololo.olol/data1.geojson');
groupLayer = new L.LayerGroup();
map.addControl( new L.Control.Search({
layer: groupLayer ,
propertyName: 'name',
}) );
map.addLayer(groupLayer );
groupLayer .addLayer(markersLayer0);
groupLayer .addLayer(markersLayer1);
Тут поиск перестаёт работать по любому из слоёв и я не понимаю как решить эту задачу. Хотя судя по примерам да и исходникам LeaFlet.search, на вход в 'layers:' принимает "L.LayerGroup()" и теоретически должен без проблем обрабатывать группу. Сильно не пинайте - за предположительную кривость кода :) |
Спасибо всем :)
Задачу решил, пуллреквест отправил. https://github.com/stefanocudini/lea.../pull/79/files |
| Часовой пояс GMT +3, время: 06:17. |