gpt4 book ai didi

javascript - 谷歌地图是否将 map 坐标定位到百度 map 中的同一位置?

转载 作者:行者123 更新时间:2023-12-01 13:22:04 25 4
gpt4 key购买 nike

我正在使用源自谷歌地图的纬度和经度在百度 map (中国的主要 map 服务)中实现 map View 。不过,我发现我的位置(主要是上海附近)始终“偏离”了大约一公里!

进行线性调整会使百度位置出现在大致(+- 几米)的正确位置:

//Declaring my Baidu map marker's properties
...
lat : gm_location.lat + 0.00575,
lng : gm_location.lng + 0.00668,
...

虽然这可以满足我的特殊需求,但我不喜欢这些神奇的数字。任何人都知道这种抵消是从哪里出现的?

最佳答案

您使用哪个 Google map ,google.com/map 还是 google.cn/map?卫星 View 还是街景?在所有情况下,答案是否定的 - 坐标不会对应百度 map POI,但原因略有不同。

首先,因为 Baidu doesn't offer any useful maps outside of China ,让我们专注于这个问题,

Does a Google Maps coordinate within China, map to the same location in Baidu Maps?



答案是不。 Baidu Maps uses its own BD-09 coordinate system ,而谷歌地图使用中文 GCJ-02标准(用于 google.com/maps 或 .cn 上的街道 map ),或 WGS-84 用于 google.com 卫星 View map 上的卫星图像。

GPS 坐标 (WGS-84) 和 Google 街道 map 坐标 (GCJ-02) 与百度 map 上的位置不同,如 this snippet demonstrates (我没有在答案中包含该片段,因为它由于 SO 包含脚本的方式而不起作用 - 但您可以在此 other answer I gave 中看到代码)。

enter image description here

在上海周围使用线性校正可能会奏效,但中国其他地区的值会发生变化。

如何补偿偏移量

将谷歌坐标转换为百度 map 坐标的官方方法是使用百度 map API 来实现。

API 有两个版本:
  • http://developer.baidu.com/map/changeposition.htm 记录了一个据称是“服务器”的版本这需要 obtaining an application key
  • 一个版本在 http://api.map.baidu.com/ag/coord/convert Baidu Map coordinates conversion demo 使用的通过 http://developer.baidu.com/map/jsdemo/demo/convertor.js并且不需要应用程序 key 。

  • 让我们把上海人民英雄纪念碑的谷歌街道 map (GCJ-02)坐标转换成百度 map 坐标:
    curl "http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=121.4914&y=31.2423"

    将输出
    {"error":0,"x":"MTIxLjQ5Nzk5OTg3MzM4","y":"MzEuMjQ3OTc1ODQwMTk2"}

    坐标是 base64 编码的,并解码为
    121.49799987338, 31.247975840196

    如果 map.baidu.com 允许您输入纬度/经度坐标,您将登陆 People's Heroes Monument .

    百度的 API 仅提供对 BD-09 的转换。

    转换也可以离线运行,公式见 on Chinese blogs . GCJ-02、WGS-84 和 B-09 之间的转换可以使用 geoChina 等库进行。或 eviltransform .

    关于javascript - 谷歌地图是否将 map 坐标定位到百度 map 中的同一位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29444803/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com