百度地图西经打点,pixel和point不一致bug, 如何解决的?

发布于 2022-09-12 03:19:03 字数 676 浏览 20 评论 0

百度地图西经打点,pixel和point不一致。

对于负数经度打点bug:

const bjPoint = new window.BMap.Point(116.23, 39.54)

map.centerAndZoom(chinaCenterPoint, 3)

const point = new window.BMap.Point(-77.02, 39.91)

const marker = new window.BMap.Marker(point, { title: ‘美国’})

map.addOverlay(marker)

地图是圆形的, 左右两边都有美国。 此时地图打的marker点是中国的右边。

const pixel = map.pointToPixel(point)

此时获取到的像素点是负数, 在中国的左边。

尝试方案
自定义图层,全屏的canvas图层, 通过pointToPixel方法获取到像素点,通过canvas drawImage方法画了一个图标, 可以保持像素点和经纬度的统一。
在拖动地图时,重新通过pointToPixel方法获取到像素点,重新绘制。

请问有更好的解决方法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文