2013-09-03 9 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, или определить их самостоятельно, например:

_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

Сверху моей головы, я думаю, что уровни никогда не будут определены * если * у вас нет загруженного сервиса. .? Ahh, вот мы: [linky] (https://developers.arcgis.com/en/javascript/jsapi/map.html#getlevel), предполагая, что вы используете '.getLevel()' – Juffy

+0

да, используя уровень получения никогда не были определены, но мне нужно было получить доступ к уровню в методе завершения обновления, тогда я могу определить maxLevel и minLevel и делать то, что мне нужно. Принял меня целый день, чтобы понять это. Пришлось вернуться к нему –