2016-08-14 6 views
2

:leaflet.js : 레이어 당 최대 줌 레벨을 설정 하시겠습니까? 나는이지도 기반 레이어, 맵 퀘스트에서 CartoDB에서 거리 층과 위성 층 (Leaflet.js에 따라 3.15.9) CartoDB.js을 사용하고

var options = { 
    center: [53.2, -2.0], 
    zoom: 6 
    }; 
    var map = new L.Map('map', options); 
    var streetLayer = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', { 
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors</a>' 
    }).addTo(map); 
    L.control.layers({ 
    'Map': streetLayer, 
    'Satellite': MQ.satelliteLayer() 
    }, null, {'collapsed': false, 'position': 'bottomleft'}).addTo(map); 

수 있습니까 설정에 따라 레이어 최대 줌 레벨? 거리 계층에서 최대 18 배, 위성 계층에서 최대 21 배 확대 (최대 확대/축소 수준을 사용할 수 있기 때문에)입니다.

streetLayer 개체에 maxZoom: 18 설정을 시도했지만 아무 것도하지 않는 것 같습니다. options의 동일한 옵션은 전역 최대 확대/축소를 설정하지만 이는 분명 내가 원하는 것이 아닙니다.

답변

2

지도의 maxZoom 옵션은 네비게이션을 제한합니다 (사용자가 지정된 레벨보다 크게 확대 할 수 없음).

타일 레이어에서 maxZoom 옵션은지도에서 타일 레이어가 업데이트되는 레벨을 정의합니다. 해당 레벨을 통과하면 타일 레이어가 더 이상 업데이트되지 않습니다. 즉, 타일이 더 이상 다운로드되고 표시되지 않습니다.

당신은 maxNativeZoom 옵션과 함께 그것을 사용에 관심이있을 수 있습니다

최대 줌 번호 타일 소스를 사용할 수 있습니다. 이 값을 지정하면 maxNativeZoom보다 큰 모든 줌 레벨의 타일은 maxNativeZoom 레벨에서로드되고 자동 크기 조정됩니다. 이지도는 현재 표시 내용에 따라 서로 다른 탐색 한계를 원하는 경우

예를 들어, 거리 계층에 대해, 당신은 이제 21

에 18에서 maxNativeZoommaxZoom을 설정할 수 있습니다 (예를 들어, 당신은이 있으면 레이어 컨트롤에서베이스 맵으로 2 개의 타일 레이어가 동시에 표시되지 않도록) map.setMaxZoom()을 사용하여 사용자가베이스 맵을 전환 할 때 동적으로 해당 제한을 변경할 수 있습니다.

+0

감사합니다. 제안한대로 maxNativeZoom을 사용했습니다. – Richard