百度地图 定位不准 获取的 位置 不准确

百度地图 放大 缩小已经 获取的 位置 不准确

看看解决的方法?

  1. 像素转 坐标 结合 缩放级别 看看怎么做

[经纬度坐标转换为像素坐标原理]

// 投影实例
const projection = map.getMapType().getProjection()

// 地图div宽高
const box = map.getSize()
const zoom = window.Math.pow(2, 18 - map.getZoom())

// 中心坐标 转 平面坐标
const center = projection.lngLatToPoint(map.getCenter())

// 测试坐标 转 平面坐标
const point = projection.lngLatToPoint({ lng: 118.816832, lat: 31.981216 })

// 像素坐标
const x = Math.round((point.x - center.x) / zoom + box.width / 2)
const y = Math.round((center.y - point.y) / zoom + box.height / 2)

// 测试下 与pointToPixel转换是相同的
const pixel = map.pointToPixel({ lng: 118.816832, lat: 31.981216 })
console.log(pixel, x, y)

经纬度 => 墨卡托投影坐标 => 相对中心投影坐标 => 根据地图缩放级别调整 => 最后加上地图窗口宽高

2. 像素坐标转换为经纬度坐标

3.

最后认真比对 是 地图拖动 中心大头针不动 大头针取得是 地图中间的坐标
但是 地图的高度变化了 大头针的位置没变 所有不对

修改为 地图absolute 以后 地图全屏了 这样地图高度不变 这样不管 放大缩小 都很准确 解决了这个问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容