百度地图西经打点,pixel和point不一致bug, 如何解决的?
百度地图西经打点,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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论