2013-05-14 63 views
30

我試圖刪除LeafletJS地圖上的縮放控件(+/-)。LeafletJS:如何刪除縮放控件

我正在使用MapBox.js version of Leaflet,但大部分操作與傳單相同。我執行我的地圖是這樣的:

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說,有將從地圖中刪除變焦控制zoomControl可選項,但我已經沒有運氣得到它的工作。

如何使用此實現刪除縮放控件?

謝謝!

回答

61

這是爲我工作。

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

你試過了嗎?

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

這指出我在正確的方向。謝謝。 – 2013-05-15 23:22:16

+2

'var map = L.mapbox.map('map',{zoomControl:false});'不起作用,第二個參數需要是指定地圖類型的字符串,第三個參數需要'{zoomControl:false }' – Programster 2015-08-31 15:11:47

+1

對於那些只想禁用鼠標滾輪縮放功能,但不禁用使用地圖上的+和 - 按鈕進行縮放的功能,用'scrollWheelZoom'替換'zoomControl' – Programster 2015-08-31 15:12:55

17

感謝座標的答案,我能夠找出正確的方法。解決的辦法是:

// 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

如果要動態地打開和關閉縮放,你可以做這樣的事情:

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

對於那些想要禁用拖動功能的用戶,您可以也要這樣做:map.dragging.disable(); – sam 2015-03-18 11:19:14

5

你可以使用

map.zoomControl.remove();

+0

在我的情況下得到一個TypeError:map.zoomControl.remove不是一個函數。我發現的方式是使用像這樣的'removeControl'函數:'map.removeControl(map.zoomControl);' – leobelizquierdo 2016-02-03 16:39:13

+0

我猜,map.zoomControl.remove()是1.0.0版本中的一個新函數,而map.removeControl )適用於較低版本。 – yemaw 2016-02-17 03:34:04

6

你可以這樣刪除控件zoomControl

map.removeControl(map.zoomControl);