LeafletJS: comment supprimer le contrôle de zoom

J'essaie de supprimer les commandes de zoom ( + / - ) sur une carte LeafletJS.

J'utilise le MapBox.version js de Leaflet mais la plupart des opérations sont les mêmes que Leaflet. J'implémente ma carte comme ceci:

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]);

La documentation indique qu'il existe une option zoomControl qui supprimera le contrôle de zoom de la carte, mais je n'ai pas eu de chance de le faire fonctionner.

Comment puis-je supprimer le contrôle de zoom avec cette implémentation?

Merci!

35
demandé sur Brett DeWoody 2013-05-14 11:23:41

7 réponses

C'est du travail pour moi.

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

Avez-vous essayé?

var map = L.mapbox.map('map', { zoomControl:false });
67
répondu coordinate 2013-05-14 07:38:41

Si vous voulez activer et désactiver dynamiquement le Zoom, vous pouvez faire quelque chose comme ceci:

map.touchZoom.disable();
map.doubleClickZoom.disable();
map.scrollWheelZoom.disable();
map.boxZoom.disable();
map.keyboard.disable();
$(".leaflet-control-zoom").css("visibility", "hidden");
40
répondu Allie Hoch Janoch 2014-02-07 02:00:48

Grâce à la réponse de coordinate, j'ai pu trouver la bonne méthode. La solution est:

// 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);
16
répondu Brett DeWoody 2013-05-15 23:23:35

Vous pouvez supprimer le contrôle zoomControl de cette façon:

map.removeControl(map.zoomControl);
8
répondu leobelizquierdo 2016-02-01 22:03:26

Vous pouvez simplement utiliser

map.zoomControl.remove();

6
répondu yemaw 2015-11-23 06:45:32
map.scrollWheelZoom.disable();
3
répondu Anik 2014-02-02 12:39:39

Pour supprimer dynamiquement puis ajouter le contrôle de zoom:

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

if( wantToRemove ) {
    map.removeControl( map.zoomControl ); 
} else {
    map.addControl( map.zoomControl );
}
1
répondu CDM 2018-04-19 21:12:23