LeafletJS: So entfernen Sie die Zoomsteuerung

Lesezeit: 2 Minuten

Ich versuche, die Zoomsteuerung (+/-) auf a zu entfernen MerkblattJS Karte.

Ich benutze die MapBox.js-Version von Leaflet aber die meisten Operationen sind die gleichen wie bei Leaflet. Ich implementiere meine Karte wie folgt:

var map = L.mapbox.map('map');

var layer = L.mapbox.tileLayer('MAPBOX-ID', {
    format: 'jpg70',
    minZoom: 13,
    maxZoom: 15,
    reuseTiles: true, 
    unloadInvisibleTiles: true
});
map.addLayer(layer);
map.setView([40.73547,-73.987856]);

Das Dokumentation sagt, dass es eine zoomControl-Option gibt, die das Zoom-Steuerelement von der Karte entfernt, aber ich hatte kein Glück, es zum Laufen zu bringen.

Wie kann ich die Zoomsteuerung mit dieser Implementierung entfernen?

Vielen Dank!

Benutzer-Avatar
Koordinate

Das hat bei mir funktioniert:

var map = new L.map('map', { zoomControl: false });

Mit Mapbox versuchen:

var map = L.mapbox.map('map', { zoomControl: false });

Sehen Kartenerstellung und die zoomControl-Option in der Merkblattdokumentation.

  • var map = L.mapbox.map('map', { zoomControl:false }); funktioniert nicht, der zweite Parameter muss eine Zeichenfolge sein, die den Kartentyp angibt, der dritte Parameter nimmt die { zoomControl:false }

    – Programmierer

    31. August 2015 um 15:11 Uhr

  • Für diejenigen, die nur den Mausrad-Zoom deaktivieren möchten, aber nicht die Möglichkeit zum Zoomen mit den Schaltflächen + und – auf der Karte deaktivieren möchten, ersetzen Sie zoomControl mit scrollWheelZoom

    – Programmierer

    31. August 2015 um 15:12 Uhr

Wenn Sie das Zoomen dynamisch ein- und ausschalten möchten, können Sie Folgendes tun:

map.touchZoom.disable();
map.doubleClickZoom.disable();
map.scrollWheelZoom.disable();
map.boxZoom.disable();
map.keyboard.disable();
$(".leaflet-control-zoom").css("visibility", "hidden");

  • Für diejenigen, die die Drag-Funktion deaktivieren möchten, können Sie dies auch tun: map.dragging.disable();

    – Sam

    18. März 2015 um 11:19 Uhr

Dank der Antwort von Coordinate konnte ich die richtige Methode herausfinden. Die Lösung ist:

// Create the map
var map = L.mapbox.map('map', null, { zoomControl:false });

// Create my custom layer
var layer = L.mapbox.tileLayer('MAPBOX-ID', {
    format: 'jpg80',
    minZoom: 13,
    maxZoom:15,
    tileSize: 256,
    reuseTiles: true, 
    unloadInvisibleTiles: true
});


// Add the layer
map.addLayer(layer);

Sie können das Steuerelement entfernen zoomControl auf diese Weise:

map.removeControl(map.zoomControl);

Sie können einfach verwenden

map.zoomControl.remove();

  • In meinem Fall bekomme ich einen TypeError: map.zoomControl.remove ist keine Funktion. Der Weg, den ich gefunden habe, ist die Verwendung von removeControl funktionieren so: map.removeControl(map.zoomControl);

    – Leobelizquierdo

    3. Februar 2016 um 16:39 Uhr

  • Ich denke, map.zoomControl.remove() ist eine neue Funktion in Version 1.0.0, während map.removeControl() für niedrigere Versionen ist.

    – Jemaw

    17. Februar 2016 um 3:34 Uhr

Benutzer-Avatar
Anik

map.scrollWheelZoom.disable();

  • In meinem Fall bekomme ich einen TypeError: map.zoomControl.remove ist keine Funktion. Der Weg, den ich gefunden habe, ist die Verwendung von removeControl funktionieren so: map.removeControl(map.zoomControl);

    – Leobelizquierdo

    3. Februar 2016 um 16:39 Uhr

  • Ich denke, map.zoomControl.remove() ist eine neue Funktion in Version 1.0.0, während map.removeControl() für niedrigere Versionen ist.

    – Jemaw

    17. Februar 2016 um 3:34 Uhr

Benutzer-Avatar
CDM

So entfernen Sie die Zoomsteuerung dynamisch und fügen sie dann wieder hinzu:

var map = L.mapbox.map('map');

if( wantToRemove ) {
    map.removeControl( map.zoomControl ); 
} else {
    map.addControl( map.zoomControl );
}

  • Diese Antwort funktioniert im Gegensatz zu den anderen immer noch

    Benutzer9802118

    25. August 2021 um 21:52 Uhr

1127290cookie-checkLeafletJS: So entfernen Sie die Zoomsteuerung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy