2013-05-14 20 views
30

Próbuję usunąć elementy sterujące powiększeniem (+/-) na mapie LeafletJS.LeafletJS: Jak usunąć kontrolkę powiększenia

Używam MapBox.js version of Leaflet, ale większość operacji jest taka sama jak w przypadku Ulotki. Wdrożyć moją mapę tak:

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

documentation mówi, że nie jest to opcja ZoomControl że usunie kontrolę zoomu z mapy, ale nie miałem szczęścia w uzyskiwanie go do pracy.

Jak mogę usunąć kontrolę powiększenia za pomocą tej implementacji?

Dzięki!

Odpowiedz

61

To jest praca dla mnie.

Próbowałeś?

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

To wskazało mi właściwy kierunek. Dzięki. –

+2

'var map = L.mapbox.map ('map', {zoomControl: false});' nie działa, drugi parametr musi być ciągiem określającym typ mapy, trzeci parametr ma postać '{zoomControl: false } ' – Programster

+1

dla tych, którzy chcą wyłączyć zoom kółkiem myszy, ale nie wyłączaj możliwości powiększania za pomocą przycisków + i - na mapie, zamień' zoomControl' na 'scrollWheelZoom' – Programster

17

Dzięki odpowiedzi koordynatora udało mi się znaleźć właściwą metodę. Rozwiązaniem jest:

// 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); 
3
map.scrollWheelZoom.disable(); 
36

Jeśli chcesz dynamicznie włączać i wyłączać powiększanie można zrobić coś takiego:

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

Dla tych, którzy chcą wyłączyć funkcję przeciągania, możesz rób to również: map.dragging.disable(); – sam

5

można po prostu użyć

map.zoomControl.remove();

+0

w moim przypadku dostaję TypeError: map.zoomControl.remove nie jest funkcją. Sposób, w jaki znalazłem, polega na użyciu funkcji 'removeControl' w następujący sposób:' map.removeControl (map.zoomControl); ' – leobelizquierdo

+0

Domyślam się, map.zoomControl.remove() to nowa funkcja w wersji 1.0.0, podczas gdy map.removeControl () jest dla niższych wersji. – yemaw

6

można usunąć kontrolkę zoomControl w ten sposób:

map.removeControl(map.zoomControl); 
Powiązane problemy