Видимость DynamicMapServiceLayer (Javascript API)

0 голосов
спросил 05 Апр, 10 от ppa80 (920 баллов) в категории Программные продукты Esri
Пытаюсь работать одновременно с несколькими сервисами - два кэш-сервиса и один динамический.
Есть две карты - одна карта России и одна карта города.
Для карты России кэш построен до определённого уровня. Дальше по каким-то причинам нет желания его строить. Хочу его генерировать динамически, начиная с масштабов, где включается кэш карты города. Т.е. чтобы подложка (или фон, как хотите) для города генерировалась динамически. Цель выполнена, белых пятен на карте теперь нет, но есть сомнения что сделано правильно. Дело в том, что я ограничил масштабы для динамики карты России в файле проекта 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);

2 Ответы

0 голосов
ответил 05 Апр, 10 от ppa80 (920 баллов)
Ещё вопрос. Есть ли возможность использовать на близких масштабах, где нет картинок из кэша, не динамический сервис, а "растянутые" картинки из кэша?
0 голосов
ответил 06 Апр, 10 от Dido_kz1 (11,020 баллов)
братан, тебе кажись надо туда -> ArcObjects или MapObjects
если слои не отображаются в определенных масштабах, то опрос  на этот слои не будет
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...