2013-05-04 7 views
4

Как установить различные уровни масштабирования в слоях на карте. Мне нужно показать разные уровни масштабирования в разных слоях. Например, у меня есть 2 слоя 1.city, 2.state. Когда уровень инициализации карты равен 18, но когда я показываю уровень СОСТОЯНИЯ, я должен установить уровень масштабирования на 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

Вот пример того, как это сделать.

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