如何解决 Google 高德地图定位漂移漂移的问题

遇到的问题:地理底图采用的从谷歌地图上下载下来的瓦片,与业务矢量数据叠加发现有偏移,谷歌了一下发现是谷歌地图被偏移。需要将
解决方案:
& &一篇不错的文章: /blog/gaodelbs/8434
& &然后看到CSDN上的这篇文章 &&http://blog.csdn.net/coolypf/article/details/8686588
& &试了一下代码链接:
& & /SourceControl/changeset/view/
其中public static void transform(double wgLat, double wgLon, out double mgLat, out double mgLon)
将World Geodetic System坐标系下的经纬度坐标 转换为 Mars Geodetic System 下的经纬度坐标,需要计算投影坐标的自己另外再计算,从测试效果上看偏移问题解决。
如果要将GCJ_02 转到WGS-84,网上有很多说只能用二分法逐步精确,找到一个链接&/group/topic/335401/ 其中有一个函数&gcj_decrypt_exact ,待测试
阅读(...) 评论()google地图经纬度偏移修正算法完美解决方案
由于受到国家一些法律法规限制,所有的电子地图服务提供商都需要给地图数据加上偏移和加密,因此广受大家关注的google地图也不例外。但是作为一些用惯了免费服务的网友们,始终对google
MAP上的标注偏移很头疼,我收集了一些资料,今天在这里和大家一起分享。
所谓的地图数据加密偏移,其实就是用一个偏移算法对地图的经纬度做一个加减偏移量,从而达到与实际地图不一致。这个偏移算法本身是没有什么规律可言的,每家地图服务商都有一套自己的加密偏移算法,既然算法上没有什么规律可言,但是对于算法中生成的偏移量是否有规律呢?这个是可以肯定的,但是偏移算法中生成的偏移量是有规律而言的。偏移量的规律很难得到,要是能拿到这个偏移量,就可以说是破解了某一个地图服务商的地图加密。
那我们怎么解决这个偏差呢!我在网上找到了一个强人破解google map偏移的方法
毕竟做地图开发的都存在卫星图和地图的切换,谁不想让切换以后的地图对上呢!
后来我发现google的地图服务,ditu.gogle开始的都没有偏差,maps.google开头的服务就有偏差,我就开始查找google的取偏
移量算法,事前我还是图破解google手机版本的数据,没有成功,估计是使用了自己的压缩或加密算法,最后也没有找到规律,后来才尝试破解web版本的
不过web版本的接口我对于js不是特别熟悉,所以本次破解放弃了分析源代码的步骤,而是直接采用排除法
那就是把地图部分访问的全部地址,一个接一个封杀掉,查找那个起偏移做用的网址
/maps/vp?spn=0.0,0.0&z=18&
vp=39..148067
最后找到了就是这个,记住每次测试用清理浏览器缓存哦,使用fixfox的fildder和adblock就够了 然后就是
分析每次返回内容的规律,皇天不负有心人啊,我总算是搞定了,下面是我整理的接口
中国地图偏移接口
接口地址:
(注:.cn和.com都可以,我用国内服务器就会选择.cn用美国服务器就会选择.com)
返回内容中的有效部分:
(39.7., [9,
-2, 18, -4, 37, -8, 74, -16, 149, -33, 298, -67, 596, -135, 1193,
Spn参数暂时未知实际意义,但是需要上发spn参数,任意两个小数用逗号分开Vp参数纬经度值,用逗号分隔,z参数为地图缩放级别,无实际意义
取回的部分中有效数字为[9, -2,
18, -4, 37, -8, 74, -16, 149, -33, 298, -67, 596, -134, 1192,
-268]这个数组总共有8组数字,每两个为一组,分为别从11级到18级的地图和卫星图的偏移像素数量,我们前一组数字精确的等于后一组数字除二,我们为了得到最精确的偏移,故选择第18级的偏移量1193,-270,1193为x方向上精度的偏移像素,-270为y方向上维度偏移像素
经纬度的偏移转换我们需要江经纬度39.111195,117.148067转化为18级像素值 和 ,然后分别加上偏移量-270,1193,然后再转化为经纬度39.17 和117.24,即位偏移后的经纬度
google的地图采用将地球圆表面投影成平面的方式进行贴图
假设zoom=15;
横坐标从左至右像素为0-256*2的15次幂,也就是每增加一级,地图大小横纵坐标加倍,256为一个标准图片的大小
显示-180度到+180的范围,经度越大x越大
纵坐标从上到下像素为0-256*2的15次幂,显示+85到-85度的范围,纬度越小y越大
我们先看一下经度的转换
经度的转换,我就不多说了,均匀分布,大家简单的看一下下面的公式就明白了
经度到像素X值
public static double lngToPixel(double lng, int zoom) {
return (lng + 180) * (256L &&
zoom) / 360;
像素X到经度
public static double pixelToLng(double pixelX, int zoom) {
return pixelX * 360 / (256L &&
zoom) - 180;
纬度到像素Y
public static double latToPixel(double lat, int zoom) {
double siny = Math.sin(lat * Math.PI / 180);
double y = Math.log((1 + siny) / (1 - siny));
return (128 && zoom) * (1 - y / (2
* Math.PI));
像素Y到纬度
public static double pixelToLat(double pixelY, int zoom) {
double y = 2 * Math.PI * (1 - pixelY / (128
&& zoom));
double z = Math.pow(Math.E, y);
double siny = (z - 1) / (z + 1);
return Math.asin(siny) * 180 / Math.PI;
维度的这个转换,单纯去理解不是很好理解,我也没有太深入的了解,从公式来看,采用了一种非线性变化,也就是靠近赤道的地方单位像素表现的纬度间距
大,越靠近两极越小,可能是因为 经度在靠近两极的方向均匀变化,导致纬度也要进行拉伸,否则
&靠近两极的地方,地理形状就该发生变化了,总之上面的转换公式大家还是可以研究一下的,google维度的表示范围是-85到+85,这个可以求出来!
上面得到的像素XY是像素的坐标,并非是google地图取地图的那个XY那个XY是把像素所标除以256得到的商,也就是每张图片的大小
============================================================================
&需要购买基站数据,或者定位能力的朋友、公司可以联系我,谢谢
联系方式:
基站定位技术讨论QQ群号:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。更多疑问请点击这里哦
GOOGLE地图不能用了,怎么办
来自论坛版面
GOOGLE&地图完全不能用了,有什么地图可以代替用来做自驾的吗?&正在做的
 33006人浏览
 7 个回答
 1 人关注
用手机浏览器搜索“谷歌地图”,然后点击官网进去,可以搜索起点与终点,然后规划驱车坐车步行。以前电脑浏览器也可以的,但现在不行,目前手机可以,注意是浏览器浏览,不是APP.&本人今天用手机浏览器规划过国外的路线,是可以的。安卓和苹果手机的浏览器都可以的。
这个可以访问Google地图不用翻墙
嗯,原来GOOGLE地图还可以用
问答探路者
擅长马来西亚、泰国、日本等地的问题
有个地图叫maps.me也很好用,就是不知道安卓有没有
翻墙。。。
翻牆再用google。。。。
翻墙。。。查看: 30|回复: 8
在线时间19 小时经验值669 最后登录注册时间帖子阅读权限60UID
大学本科, 积分 669, 距离下一级还需 31 积分
TA的每日心情无聊 08:40签到天数: 4 天[LV.2]偶尔看看I
G币4 最后登录注册时间
谷歌地图位置漂移如何解决求大神 求大神啊
在线时间1 小时经验值287 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 287, 距离下一级还需 113 积分
TA的每日心情慵懒 17:00签到天数: 136 天[LV.7]常住居民III
G币465 最后登录注册时间
楼主可能用了市场解锁之类的APP,否则应该不会有偏移
在线时间0 小时经验值1415 最后登录注册时间帖子阅读权限80UID
研究生, 积分 1415, 距离下一级还需 285 积分
TA的每日心情郁闷 10:41签到天数: 3 天[LV.2]偶尔看看I
G币4 最后登录注册时间
简单,百度地图~
在线时间6 小时经验值249 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 249, 距离下一级还需 151 积分
TA的每日心情无聊 22:35签到天数: 5 天[LV.2]偶尔看看I
G币21 最后登录注册时间
改京都的hosts就可以解决
在线时间0 小时经验值357 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 357, 距离下一级还需 43 积分
TA的每日心情奋斗 09:02签到天数: 16 天[LV.4]偶尔看看III
G币1 最后登录注册时间
<font color="#5028694 发表于
改京都的hosts就可以解决
实测么?能不能说详细一点?我除了一次更新Google地图发现没漂移外其他任何时候都漂移
在线时间0 小时经验值1804 最后登录注册时间帖子阅读权限90UID
硕士, 积分 1804, 距离下一级还需 696 积分
TA的每日心情慵懒 18:36签到天数: 814 天[LV.10]以坛为家III
G币2333 最后登录注册时间
其實並沒有漂移,你現在所在的位置的經緯度就是google地圖上現在所顯示的位置,在天朝經緯度與地圖所顯示的位置都是經過修正的。
在线时间19 小时经验值669 最后登录注册时间帖子阅读权限60UID
大学本科, 积分 669, 距离下一级还需 31 积分
TA的每日心情无聊 08:40签到天数: 4 天[LV.2]偶尔看看I
G币4 最后登录注册时间
<font color="#5028694 发表于
改京都的hosts就可以解决
求可用host
在线时间6 小时经验值249 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 249, 距离下一级还需 151 积分
TA的每日心情无聊 22:35签到天数: 5 天[LV.2]偶尔看看I
G币21 最后登录注册时间
闫恒 发表于
实测么?能不能说详细一点?我除了一次更新Google地图发现没漂移外其他任何时候都漂移 ...
实测了~map全部用京都的IP~不要用外国的
在线时间6 小时经验值249 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 249, 距离下一级还需 151 积分
TA的每日心情无聊 22:35签到天数: 5 天[LV.2]偶尔看看I
G币21 最后登录注册时间
hsvlhg 发表于
求可用host
不公开~方法我已经说了
绑定QQ帐号,轻松分享到QQ空间与腾讯微博
浏览过的版块
早上好,尊敬的用户
- 山东省济南市 天地网联科技有限公司
Powered by

我要回帖

更多关于 神力科莎 漂移地图 的文章

 

随机推荐