2013-09-03 2 views
0

아크 지지도에서 미리 정의 된 확대/축소 레벨을 설정하는 방법을 알고 싶습니다. 내 궁극적 인 목표는 사용자가 과거 레벨 5를 축소하여 라벨을 끄는 것입니다. 레벨 4 이하의 모든 현명한 사람들은 레이블을 보여줍니다. 확대/축소 수준을 7로 설정하고 초기로드가 올바르게 작동합니다. 그러나 콘솔에 확대/축소 수준을 기록 할 때 -1과 미리 정의 된 확대/축소 수준에 대한 설명을 얻습니다. 분명히 나는 ​​여기에 뭔가를 놓치고있다.하지만, 로그 표시에는지도에 정의 된 것이기 때문에 줌 레벨이 7이 아니 겠는가?미리 정의 된 확대/축소 레벨 설정

function init() {   

    esri.config.defaults.io.proxyUrl = WebRoot + "proxy.ashx "; 


    map = new esri.Map("mapDiv", { 
     basemap: "gray", 
     sliderStyle: "large", 
     center: [-95.625, 39.243], 
     nav: false, 
     logo: false, 
     zoom: 7 
    });//end base map 

    //create feature layer 
    fl = new esri.layers.FeatureLayer(app.regionMap, { 
     mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,    
     outFields: ["FIPS"], 
     opacity: 0.3, 
     visibile: true 
    });//ends feature layer 

    //add feature layer to map 
    map.addLayer(fl); 

답변

1

LOD 또는 상세 수준을 설정해야합니다.

: 이것은 당신이지도를 초기화 할 때 documentation.

당신은 자신을 this sample에서와 같이로드 기와지도 층에서 LOD를을 잡아 당기거나 그들에게 정의 할 수 있습니다, 예에서와 같이, 옵션으로 제공 배열입니다

_LODS : [ 
{"level" : 0, "resolution" : 156543.033928, "scale" : 591657527.591555}, 
{"level" : 1, "resolution" : 78271.5169639999, "scale" : 295828763.795777}, 
{"level" : 2, "resolution" : 39135.7584820001, "scale" : 147914381.897889}, 
//...etc 
] 
+0

참으로 나는이 맵이 타일 맵이 아니므로 다른 솔루션을 찾고 있다고 말했다. –

+0

내 머리 꼭대기에서 벗어나 레벨을 정의 할 수 없을 것이라고 생각한다. * 타일링 된 맵 서비스가로드되어 있지 않다면 .. .? 아, 여기 있습니다 : [linky] (https://developers.arcgis.com/en/javascript/jsapi/map.html#getlevel), 당신이'.getLevel()'을 사용한다고 가정하면 – Juffy

+0

yea는 get level을 사용합니다. 절대로 정의되지 않았지만 update-end 메서드에서 수준에 액세스해야했습니다. 그러면 maxLevel 및 minLevel을 정의하고 필요한 항목을 수행 할 수 있습니다. 그 일을 이해하기 위해 하루 종일 걸 렸습니다. 다시 와야했다. –