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, время: 02:49. |