Возможно ли в Leaflet или OpenLayers сравнить две карты с полосой, чтобы скользить между ними?
Примеры включают в себя:
http://www.esri.com/services/disaster-response/hurricanes/hurricane-sandy-the-aftermap- http://www.arcgis.com/apps/StorytellingSwipe/index.html?appid=c62112f6ba834227978d8f1cf2b6f5af
- http://www.abc.net.au/news/specials/qld-floods/ (не карта)
Я знаю, что это возможно, но я не знаю, как это сделать. У кого-нибудь есть идеи? Примеры?
openlayers-2
web-mapping
leaflet
swipe
Алекс Лейт
источник
источник
Ответы:
То, что вы хотите сделать, обычно называется инструментом «Размах».
В OpenLayers нет встроенного инструмента или элемента управления для этого, но, к счастью, здесь есть пример: Swipe Control с Google и OSM на основе пользовательского класса.
Вам просто нужно включить этот файл JavaScript в вашем приложении.
Большинство инструментов / элементов управления Swipe, которые я видел в Интернете, основаны на простом CSS-клипе. Интегрировать этот вид контроля в ваше приложение очень просто, даже без внешних исправлений.
источник
Манго делает это с Leaflet. Проверьте пример здесь .
Конечно, вы можете просто сэкономить время, чтобы написать код самостоятельно и просто бесплатно создать карту с помощью Mango.
источник
Это рабочий пример листовки с использованием двух слоев WMS и листовки 0.5. Это требует небольшой настройки, например, слои не обрезаются во время панорамирования. Но это работает довольно хорошо.
Смотрите здесь: https://github.com/gccgisteam/leaflet-examples/blob/master/leafletSwipe.html
источник
Взгляните на WMS Split для Leaflet.
источник
это возможно с листовкой. Вот что я сделал, проведя пальцем по карте с листовкой и jquery.
источник
Вероятно, вам стоит заглянуть в OpenLayers 3. Вы можете посмотреть код примеров, используя CTRL + U: Код также не выглядит слишком сложным:
http://openlayers.org/en/v3.1.1/examples/layer-swipe.html
источник
Я использую приятные Openlayers 3 и 4 расширения от Viglino. Вы можете найти примеры инструментов Swipe и синхронизированных карт здесь.
http://viglino.github.io/ol3-ext/examples/map.control.swipe.html
http://viglino.github.io/ol3-ext/examples/map.interaction.synchronize.html
Его репозиторий GitHub находится здесь: https://github.com/Viglino/ol3-ext
Эти примеры включены в репозиторий GitHub.
источник