2017-02-26 1 views
1

Auf einer unserer Hauptseiten belegt Leaflet map 90% der Seite mit nur dem obersten nav (Position: fixed;)So verkleinern Sie den Container, nachdem Leaflet minZoom erreicht hat?

Aber auf Touch-Geräten kann der Benutzer versehentlich nicht auf einer Karte zoomen, sondern auf die ganze Seite. Wenn sie das tun, gibt es keine Möglichkeit für sie, den oberen Navigationsbereich zu vergrößern, da jede Touch-Aktion die Karte herauszoomen würde.

Idealerweise versuche ich, eine Lösung zu finden, so dass die Seite herauszoomen würde, nachdem Leaflet minZoom erreicht hat. Andere Ideen sind willkommen! Vielen Dank!

+0

Sie können den Seitenzoom auch vollständig deaktivieren, indem Sie das '' meta 'tag' viewport' Attribut 'content =" user-scalable = no "'] verwenden (https://developer.mozilla.org/en-US/) docs/Mozilla/Handy/Viewport_meta_tag) – ghybs

Antwort

0

Kann nicht gemacht werden.

Leaflet verlässt sich auf die touch-action CSS property, um zu verhindern, dass der Browser die ganze Seite mit einem Pinch-Zoom bearbeitet.

Beachten Sie, wie es keinen Wert für diese Eigenschaft ist, die nur heraus Pinch-Zoom ermöglicht. Leaflet kann das Pinch-Zooming nur als Ganzes aktivieren/deaktivieren.

Sie konnten die touchZoom handler of the map, indem Sie so etwas wie map.touchZoom.disable() oder map.on('zoomend', function(){ if (map.getZoom()===map.options.minZoom) map.touchZoom.disable() }) deaktivieren, aber das wird alle Pinch-Zoom in der Broschüre und ermöglichen alle Pinch-Zoom der gesamten Seite deaktivieren.

Verwandte Themen