2013-05-04 50 views
4

如何在地圖的圖層中設置不同的縮放級別。 我需要在不同的圖層中顯示不同的縮放級別。 例如我有2層1.city,2.state。當地圖初始化縮放級別爲18時,但是當我顯示STATE層時,我必須將縮放級別設置爲22.如何使用小冊子在地圖的圖層中設置不同的縮放級別。

我正在使用下面的代碼。

var city = new L.LayerGroup(); 
var state = new L.LayerGroup(); 

var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', 
    cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18}), 
    map = new L.Map('map', {layers: [cloudmade,city,state], center: new L.LatLng(17.7003292, 82.01161768), zoom:18 }); 

如何在圖層初始化時設置縮放級別?

回答

4

這是一個jsfiddle如何做到這一點的例子。

var map = new L.Map('amap', { 
center: new L.LatLng(45.50144, -122.67599), 
zoom: 4, 
minZoom: 0, 
maxZoom: 18, 
layers: [ 
    L.tileLayer('http://{s}.tile.cloudmade.com/{key}/997/256/{z}/{x}/{y}.png', { 
    maxZoom: 13, 
    minZoom: 0, 
    attribution: 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade', 
    key: 'BC9A493B41014CAABB98F0471D759707' 
}), 
    L.tileLayer('http://server.arcgisonline.com/ArcGIS/' + 'rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', { 
    minZoom: 14, 
    maxZoom: 18, 
    attribution: 'Tiles © Esri — ' 
     + 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, ' 
     + 'Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'}) 
]}); 
+1

這是實現所需行爲的正確方法,但不幸的是,當再次放大和縮小渲染時,渲染並不完美,那麼第二層不能正確移除。請參閱[在github上的這個開放問題](https://github.com/Leaflet/Leaflet/issues/1905)。 – yellowcap 2014-03-03 16:01:22

相關問題