mapbox创建多个地图浏览器会将第一个地图对象销毁
时间: 2023-06-23 21:10:11 浏览: 136
如果您在使用 Mapbox 的 JavaScript API 创建多个地图浏览器时遇到第一个地图对象被销毁的问题,可能是因为您没有正确管理地图对象。在创建多个地图时,每个地图对象应该具有唯一的 ID,并且应该使用这些 ID 来管理它们。
例如,您可以使用以下代码创建两个地图对象:
```js
const map1 = new mapboxgl.Map({
container: 'map1',
style: 'mapbox://styles/mapbox/streets-v11',
center: [0, 0],
zoom: 1
});
const map2 = new mapboxgl.Map({
container: 'map2',
style: 'mapbox://styles/mapbox/satellite-streets-v11',
center: [0, 0],
zoom: 1
});
```
在这个例子中,我们为每个地图对象指定了不同的容器 ID('map1' 和 'map2')。这样,每个地图对象都有自己独立的容器,并且可以被单独管理。
如果您需要在后续操作中访问这些地图对象,可以将它们存储在一个对象或数组中:
```js
const maps = {
map1: new mapboxgl.Map({
container: 'map1',
style: 'mapbox://styles/mapbox/streets-v11',
center: [0, 0],
zoom: 1
}),
map2: new mapboxgl.Map({
container: 'map2',
style: 'mapbox://styles/mapbox/satellite-streets-v11',
center: [0, 0],
zoom: 1
})
};
```
现在,您可以使用 `maps.map1` 和 `maps.map2` 来分别访问这两个地图对象,并进行操作。
阅读全文