Пытаюсь работать одновременно с несколькими сервисами - два кэш-сервиса и один динамический.
Есть две карты - одна карта России и одна карта города.
Для карты России кэш построен до определённого уровня. Дальше по каким-то причинам нет желания его строить. Хочу его генерировать динамически, начиная с масштабов, где включается кэш карты города. Т.е. чтобы подложка (или фон, как хотите) для города генерировалась динамически. Цель выполнена, белых пятен на карте теперь нет, но есть сомнения что сделано правильно. Дело в том, что я ограничил масштабы для динамики карты России в файле проекта mxd. Т.е. для масштаба менее 500000 я настроил чтобы все слои не выводились. Да, они не выводятся, но время на опрос этого сервиса всё-равно уходит. А вот как сделать это в Javascript API по аналогии как это сделано для кэша параметром displayLevels, но для динамических сервисов?
dojo.require("esri.map");
var myMap;
function init() {
var lods = [
{"level" : 0, "resolution" : 21166.709000084669, "scale" : 80000000},
{"level" : 1, "resolution" : 10583.354500042335, "scale" : 40000000},
{"level" : 2, "resolution" : 5291.6772500211673, "scale" : 20000000},
{"level" : 3, "resolution" : 2645.8386250105837, "scale" : 10000000},
{"level" : 4, "resolution" : 1058.3354500042335, "scale" : 4000000},
{"level" : 5, "resolution" : 529.16772500211675, "scale" : 2000000},
{"level" : 6, "resolution" : 264.58386250105838, "scale" : 1000000},
{"level" : 7, "resolution" :132.29193125052919, "scale" : 500000},
{"level" : 8, "resolution" : 79.37515875031751, "scale" : 300000},
{"level" : 9, "resolution" : 39.687579375158755, "scale" : 150000},
{"level" : 10, "resolution" : 19.843789687579378, "scale" : 75000},
{"level" : 11, "resolution" : 9.260435187537043, "scale" : 35000},
{"level" : 12, "resolution" : 4.2333418000169338, "scale" : 16000},
{"level" : 13, "resolution" : 2.1166709000084669, "scale" : 8000},
{"level" : 14, "resolution" : 1.0583354500042335, "scale" : 4000},
{"level" : 15, "resolution" : 0.52916772500211673, "scale" : 2000}
];
myMap = new esri.Map("mapDiv",{lods: lods});
// карта России - кэш
var rus_cache= new esri.layers.ArcGISTiledMapServiceLayer("http://trololo:8399/arcgis/rest/services/rus_cache/MapServer",{ displayLevels:[0,1,2,3,4,5,6,7]});
myMap.addLayer(rus_cache);
// карта России - динамика
var rus_dyn = new esri.layers.ArcGISDynamicMapServiceLayer("http://trololo:8399/arcgis/rest/services/rus_dyn/MapServer");
myMap.addLayer(rus_dyn);
// Карта города
var gorod_cache= new esri.layers.ArcGISTiledMapServiceLayer("http://trololo:8399/arcgis/rest/services/gorod_cache/MapServer",{ displayLevels:[7,8,9,10,11,12,13,14,15]});
myMap.addLayer(gorod_cache);
}
dojo.addOnLoad(init);