在开始这个题目之前,先给大家再次扫扫盲,扫的不是坐标系统的盲,而是我们国家所使用的坐标系统。大家都知道,美国GPS使用的是WGS84的坐标系统,以经纬度的形式来表示地球平面上的某一个位置,这应该是国际共识。但在我国,出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标,我们在业内将前者称之为地球坐标,后者称之为火星坐标,具体的说明可以参看百度百科中关于火星坐标系统的解释(文中的两段还是对我原文的摘录)。
所以,本文所要讨论的坐标系统,是关于地球坐标和火星坐标的事情。以前使用Google Maps API开发习惯了,就觉得国外用地球坐标国内用火星坐标是共识,但由于Google服务常常被block的因素,加上还没取得所谓的审图号,所以改用国内地图API,结果问题来了,并不是所有的地图API都采用火星坐标的。我用了一个下午的时间写了个API示例,将地球坐标和火星坐标标注到地图上去对比,具体大家可以访问以下网页自行查看差别:
http://rovertang.com/labs/map-compare/
结论是:
API | 坐标系 |
百度地图API | 百度坐标 |
腾讯搜搜地图API | 火星坐标 |
搜狐搜狗地图API | 搜狗坐标* |
阿里云地图API | 火星坐标 |
图吧MapBar地图API | 图吧坐标 |
高德MapABC地图API | 火星坐标 |
灵图51ditu地图API | 火星坐标 |
注1:百度地图使用百度坐标,支持从地球坐标和火星坐标导入成百度坐标,但无法导出。并且批量坐标转换一次只能转换20个(待验证)。
注2:搜狗地图支持直接显示地球坐标,支持地球坐标、火星坐标、百度坐标导入成搜狗坐标,同样,搜狗坐标也无法导出。
个人认为:采用自家坐标体系,而不采用国内通用的火星坐标体系,实在是自寻短处。当然,百度是因为做的足够大、足够好,所以很霸道,也为以后一统天下而不让别人瓜分之而做准备吧。搜狗虽然用自家坐标体系,但能将地球坐标直接导入,此举也属唯一。而图吧地图不知道学什么加密方式,以前用地球坐标用的好好的,现在用图吧自己的坐标,难道是因为给百度做过所以也来了这么一招?或者沿用百度?不得而知。
本文的目的在于:做地图开发的时候,不希望被一家地图API迁就,所以采用火星坐标是正确的选择,希望本文能够对选择使用谁家API的开发者提供一点帮助吧。就我个人而言,我绝不会使用非火星坐标系统的地图API,虽然百度地图API很好很强大确实很吸引我。
在做这几个样例的过程中,也同大家分享几点个人感受:
1、MapBar和MapABC是需要绑定网站域名的。Google Maps API v3开始就不使用了key了,所以也希望更多的地图API不要限制于地图API key(手机开发或地图接口应用倒是可以用key来关联一下)。
2、兼容性仍然是个大问题。MapBar API在IE6下正常,Chrome和FireFox下有问题。MapABC我也调试了很久,最后在Chrome下还是有点问题。当然,还有更糟糕的地图API(易图通的myemap在Chrome下不显示地图,瑞图的365地图网在Chrome下错位),我就没有去尝试了。
3、发现51ditu的地图级别,是越详细数字越小,和其他地图API相反,同时,初始化地图的时候若输入一个超过层级的数字,则地图不显示,放大缩小不可操作,不知道这算不算是一个bug。
4、在移动设备上的兼容性未做测试,若把这一参数加上,也许又可以刷掉几个地图API。
相关推荐
* 各地图API坐标系统比较与转换; * WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); ...
js腾讯地图api获取坐标定位地理位置_soso地图api获取坐标 js腾讯地图api获取坐标定位地理位置_soso地图api获取坐标
各地图API坐标转换,WGS84坐标系,GCJ02坐标系,BD-09百度坐标系等等,自己封装的工具类,直接调用。
百度地图API地址批量转换坐标(支持Excel上传,内含坐标系转换,地图撒点功能)
完整的一套百度地图api获取坐标经纬度的html 可搜索位置 点击所需要的位置 直接提取到该位置的坐标经纬度 可直接使用 欢迎下载
js腾讯地图api获取坐标位置是一款soso地图api获取坐标定位地理位置特效。
在做GPS开发的时候,可以根据经伟度坐标获取地址,通过百度地图API
腾讯地图api和layui结合实现的腾讯地图坐标拾取器 可回调选择结果 layui.config({ base: './' }).use(["addrHelper"], function() { const addrHelper = layui.addrHelper const layer = layui.layer // 打开坐标...
高德地图API,拾取坐标,可通过点击地图获取,也可以通过搜索框进行搜索获取,带点标记
创建简单的百度地图项目,帮助刚入门的学习者参考。
js百度地图api坐标地址标注功能是一款支持窗口拖拽,改变大小,最小化 最大化 还原 关闭的js特效。
* 各地图API坐标系统比较与转换; * WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); * ...
百度地图api 全国所有省市县坐标sql表,sql文件
原生js 百度地图api坐标地址标注功能源码下载 原生js 百度地图api坐标地址标注功能源码下载
js百度地图api坐标地址标注功能
百度地图api实现部分功能,根据多个坐标连成轨迹、坐标拾取、实现多个标注点并带信息窗口
百度地图API获取屏幕中心点坐标,计算两点距离定位当前位置,
坐标系统与地图投影.doc 坐标系统与地图投影.doc
高德地图的坐标拾取系统
ArcGIS API For JavaScript 4.x 获取地图经纬度坐标(附完整代码,即开即用)