2013-05-04 39 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

相关问题