OpenLayers 5.3
Обновление: пожалуйста, смотрите мой ответ ниже.Я думаю, что это вопрос красной селедки, не связанный с OpenLayers
Я столкнулся с неожиданным поведением, когда определил , но не импортировал секундукарта с использованием того же целевого div.
Неожиданно внутри div 'map' область просмотра была продублирована и появилась вторая карта, хотя я не импортировал вторую карту в мои index.js:
карты.js
import {Map} from 'ol';
export var map0 = new Map({
layers: some_layers,
view: some_view,
target: 'map'
});
export var map1 = new Map({
layers: other_layers,
view: someother_view,
target: 'map'
});
index.js
import {map0 as map} from maps;
// note that map1 is NOT imported
Ожидаемое поведение: Поскольку я импортировал только одну карту в индекс.js, я ожидал, что у меня будет только один видовой экран карты в
<div id='map'>
и что map1, будучи НЕ импортированным, НЕ будет включен.
Фактическое поведение: Внутри div карты было два видовых экрана, один из которых содержал map0, а другой - map1.
Обходное решение В maps.js пропустите параметр target, а затемв index.js:
map.setTarget('map')
Это ошибка или ожидаемое поведение, или это отражает недостаток понимания с моей стороны поведения экспорта и импорта?