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!
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 });
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");
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);
Vous pouvez supprimer le contrôle zoomControl
de cette façon:
map.removeControl(map.zoomControl);
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 );
}