`
maozilee
  • 浏览: 251985 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Google Map 中国地图偏移解决方案

 
阅读更多

来源链接

http://blog.csdn.net/dongmeng110/archive/2009/10/31/4750380.aspx

http://aleung.blogbus.com/logs/55115612.html

http://aleung.blogbus.com/logs/55172195.html

 


以下为上面链接的部分文字

中国地图和卫星图都存则偏移量,这个是由中国规划局,确定的,一个偏移算法,实际上是没有什么特殊规律的,他的生成算法是有规律,不过这个规律你我都很难拿到,那我们怎么解决这个偏差呢,毕竟做地图开发的都存在卫星图和地图的切换,谁不想让切换以后的地图对上呢!后来我发现google的地图服务,ditu.gogle开始的都没有偏差,maps.google开头的服务就有偏差,我就开始查找google的取偏移量算法,事前我还是图破解google手机版本的数据,没有成功,估计是使用了自己的压缩或加密算法,最后也没有找到规律,后来才尝试破解web版本的不过web版本的接口我对于js不是特别熟悉,所以本次破解放弃了分析源代码的步骤,而是直接采用排除法那就是把地图部分访问的全部地址,一个接一个封杀掉,查找那个气偏移做用的网址 http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18& vp=39.111195,117.148067 最后找到了就是这个,记住每次测试用清理浏览器缓存哦,使用fixfox的fildder和adblock就够了 然后就是分析每次返回内容的规律,黄天不负有心人啊,我总算是搞定了,下面是我整理的接口

Google 中国地图偏移接口

 

1. 接口地址:http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18&vp=39.111195,117.148067

 

(注:.cn和.com都可以,我用国内服务器就会选择.cn用美国服务器就会选择.com)

2. 返回内容中的有效部分:

3. (39.111195, 117.148067, 18, [9, -2, 18, -4, 37, -8, 74, -16, 149, -33, 298, -67, 596, -135, 1193, -270])

4. Spn参数暂时未知实际意义,但是需要上发spn参数,任意两个小数用逗号分开

Vp参数纬经度值,用逗号分隔,z参数为地图缩放级别,无实际意义

5. 取回的部分中有效数字为[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方向上维度偏移像素

6. 经纬度的偏移转换我们需要将经纬度39.111195,117.148067转化为18级像素值25620917 和 55392414,然后分别加上偏移量-270,1193,然后再转化为经纬度39.11231854918217 和117.15446412563324,即位偏移后的经纬度

 

以上是我花了2个小时完成的google偏移接口的破解,后来公司要求,把google的偏移数据全部弄下来,以防止gogle更换服务接口,我现在采用的是每隔0.01个经纬度,取一次偏移量,数据存入 bdb,中国的总数据量 千万条级别,我用了两天的时间已经完成了三分之一中国的爬取,当然我用了三台服务器,总数据量估计在1个G以下,是可以接受的范围,精度可以保证最大级别18级地图,偏差小于5个像素

 

转自:http://ixhan.com/note/index.php/Google_Map_%E4%B8%AD%E5%9B%BD%E5%9C%B0%E5%9B%BE%E5%81%8F%E7%A7%BB%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88

分享到:
评论

相关推荐

    地图选择及地图偏移解决方案(一)

    标题“地图选择及地图偏移解决方案(一)”暗示了我们即将探讨的是关于地图应用开发中的一个重要主题,即如何在不同的地图平台之间进行选择,并处理地图显示时可能出现的偏移问题。这通常涉及到地理信息系统(GIS)...

    地图选择及地图偏移解决方案(二)

    在IT行业中,地图选择与地图偏移解决方案是一个重要的议题,特别是在地理信息系统(GIS)和导航应用中。本文将深入探讨这个主题,重点关注标题所提及的“解决方案(二)”,这通常意味着是系列文章中的第二部分,...

    baidu_map_demo

    总的来说,这个项目提供了一个解决方案,帮助开发者在使用百度地图API时,能够正确地将来自GPS或其他来源的经纬度转换为在百度地图上准确显示的位置。通过学习和理解其中的代码,开发者可以更好地掌握如何在实际项目...

    maptile:在节点中为传单、谷歌地图等生成地图图块

    如果您需要一个强大的解决方案,我建议您查看以下内容: 和/或 。 你会在那里找到你需要的东西。 获取、存储和生成用于传单、谷歌地图等的地图图块。 npm install maptile 特征 GeoJSON 点和多边形的基于画布的...

    基于多GPU集群的编程框架.pdf

    【基于多GPU集群的编程框架】是针对现代高性能计算领域的一种解决方案,特别是在处理大量数据时,多GPU集群能够提供强大的并行计算能力。GPU(Graphics Processing Unit)原本主要用于图形渲染,但近年来因其高效的...

    MapReduce.docx

    MapReduce是一种分布式计算模型,由Google在2004年提出,主要用于处理和生成大规模数据集。...虽然存在一定的局限性,但在处理大规模批量数据时,MapReduce仍然是一个非常有效和广泛使用的解决方案。

    如何将GPS导航模式下记录的航迹进行纠偏.doc

    同时,不同的工具和方法可能有不同的纠偏效果,因此可能需要尝试多种方法来找到最适合你的解决方案。 总的来说,对GPS导航模式下的航迹进行纠偏是一项技术性工作,它涉及到数据解密、算法应用以及格式转换等多个...

    MapReduce技术深入理解.pdf

    MapReduce是一种分布式计算框架,由Google开发,用于处理和生成大规模数据集。它将复杂的并行计算分解为两个主要步骤:map(映射)和reduce(规约),以及相关的输入/输出处理。以下是对MapReduce技术的深入理解: ...

    MapReduce技术深入理解.pptx

    MapReduce是一种分布式计算框架,由Google开发,用于处理和生成大规模数据集。它将复杂的分布式编程简化为两个主要函数:map和reduce,使得开发者能够轻松处理海量数据。在这个“MapReduce技术深入理解”的主题中,...

    [珍藏]C# Gmap加载高德地图项目

    GMap.NET是一个强大的开源地图库,它支持多种在线地图服务,包括Google Maps、OpenStreetMap、Bing Maps以及我们的关注点——高德地图。在C#项目中集成GMap.NET,可以方便地实现地图的显示、缩放、平移等基本操作,...

    openLayers geoserver常见问题

    19. GeoExt集成Google Maps可能会遇到坐标系统不一致导致的地图偏移问题。 20. 使用JavaScript为OpenLayers.Marker添加点击事件,可以实现显示详细信息等功能。 21.改良OpenLayers的MousePosition和Marker实现,...

    grub4dos-V0.4.6a-2017-02-04更新

    偏移[x]、[y]:图像偏移,单位像素。 起始图像文件 START_FILE 命名规则:*n.??? n: 1-9 或 01-99 或 001-999。 3.增加固定图像的背景色可以透明。 splashimage [--offset=[type]=[x]=[y]] FILE 类型[type]:bit...

Global site tag (gtag.js) - Google Analytics