Я продовжую бачити веб-розробників, які не є ГІС, і стикаються з цією проблемою, і я не впевнений, що таке рішення.
- Існує деякий набір тисяч елементів.
- Ми хочемо показати карту користувачеві, причому видимий підмножина їх відображається як інтерактивні елементи, які можна натискати.
Які існують методи для цього?
Я можу подумати про це, але вони не дуже задовільні, тому мені цікаво, що ще є:
Зберігайте всі дані у файлі GeoJSON, переносіть їх у браузер і нехай Leaflet відображає їх. Проблема: насправді не працює з великими наборами даних. TopoJSON трохи піднімає ліміт. Це також спричиняє велику затримку при завантаженні сторінки.
Використовуйте Mapbox, зберігайте всі дані в інтерактивному шарі на Mapbox і використовуйте Mapbox.js для їх відображення. Це чудово, але коштує грошей, і ви не можете їх влаштувати самостійно.
Використовуйте GeoServer для доступу до бази даних PostGIS, використовуйте плагін WFS-geojson-листівки для доступу до даних звідти. Можливо, це працює, але плагін WFS-geojson Leaflet , здається, більше не підтримується.
Використовуйте CartoDB, зберігайте всі дані у таблиці CartoDB та використовуйте CartoDB.js для їх відображення. Працює чудово, але може вийти дуже дорого. Можна розмістити його самостійно, але встановлювати CartoDB нетривіально.
Все це змушує мене думати, що повинен бути якийсь набагато кращий, вільний шлях, який я пропускаю. Що це?
EDIT
Можливо, я занадто легко списав плагін WFS-geojson. Є вила, яка все ще бачить деяку активність (4 місяці тому): https://github.com/johanlahti/azgs-leaflet