использование того же слоя в общем представлении на openlayers

#openlayers #openlayers-6

#openlayers #openlayers-6

Вопрос:

Я хочу отобразить один и тот же слой в обоих представлениях, но получаю проблему. слой отображается на одной карте одновременно. при увеличении или уменьшении масштаба это иногда отражается на представлении 1 или иногда на представлении 2.

 var roadLayer = new TileLayer({
  source: new OSM(),
});

var view = new View({
  center: [-6655.5402445057125, 6709968.258934638],
  zoom: 13,
});

var map1 = new Map({
  target: 'roadMap',
  layers: [roadLayer],
  view: view,
});

var map2 = new Map({
  target: 'aerialMap',
  layers: [roadLayer],
  view: view,
});
 

введите описание изображения здесь

Ответ №1:

Это упоминается в примечаниях к обновлению https://github.com/openlayers/openlayers/blob/main/changelog/upgrade-notes.md#layers-can-only-be-added-to-a-single-map

Однако вы можете использовать один и тот же источник в двух слоях:

 var source = new OSM();

var view = new View({
  center: [-6655.5402445057125, 6709968.258934638],
  zoom: 13,
});

var map1 = new Map({
  target: 'roadMap',
  layers: [
    new TileLayer({
      source: source,
    })
  ],
  view: view,
});

var map2 = new Map({
  target: 'aerialMap',
  layers: [
    new TileLayer({
      source: source,
    })
  ],
  view: view,
});