高德地图使用setZoomAndCenter并且弹出气泡的位置不正确

问题

在项目中使用高德api,通过点击列表中的定位按钮,地图会缩放到一定级别,并且移动到指定中心点,同时弹出infoWindow的气泡。
但是在页面刚打开时会有个问题:
点击定位按钮时,infoWindow弹出的位置不正确。

解决

修改代码,先让地图切换到指定中心点,再执行infoWindow的弹出操作。

let zoomLevel = 15
let centerLng = Number(extData.lng)
let centerLat = Number(extData.lat)

// 先切换地图位置
map.setZoomAndCenter(zoomLevel, new window.AMap.LngLat(centerLng, centerLat))

// 此处是重点,等地图位置切换后,再弹出气泡
setTimeout(() => {
    infoWindow.setContent('气泡内容');
    infoWindow.open(map, new window.AMap.LngLat(Number(extData.lng), Number(extData.lat)));
})
posted @ 2023-10-24 09:49  ZerlinM  阅读(549)  评论(0编辑  收藏  举报