在百度地图中显示navigator.geolocation.getCurrentPosition

时间:2015-04-06 11:08:14

标签: javascript google-maps geolocation chinese-locale baidu

我们知道由于the infamous China GPS offset problemGPS (WSG-84) map coordinates don't correspond exactly to the coordinate system that state-approved Chinese maps use(GCJ-02)。

问题是,如何确保在navigator.geolocation.getCurrentPosition()报告的坐标处通过百度地图API放置标记符合现实?

制造或批准在中国使用的设备的GPS芯片是否会返回与用户实际位置不匹配的坐标,以便与GJC-02地图相匹配?

如果用户运行中文导航器(例如Maxthon或中文本地化的Google Chrome)与非中文浏览器(例如, Firefox英文版?

这是一个JSBin that tests geolocation and uses the Baidu Maps coordinates conversion API。不幸的是,我不在中国,所以我无法测试。

以下是问题:

以上应用是否需要在navigator.geolocation.getCurrentPosition()的坐标上运行百度坐标转换才能在百度地图上正确显示位置?位于中国的人是否可以测试中国制造的设备上的中文浏览器和非中文设备上的非中文浏览器?

1 个答案:

答案 0 :(得分:0)

嗯...首先,他们似乎有一个API可以做到这一点:raw gps location to baidu gps location。 我无法找到文档,但我认为他们的jsfiddle(?)可能会让您有机会开始使用。

从设备和浏览器开始..由于小米手机在美国运行良好,所以我猜android系统只返回正常的原始GPS位置。中国浏览器在美国手机中使用它们仍然给我正确的位置。所以我认为浏览器也与转变无关。

希望这有帮助。