先声明,这里的坐标转换api是JS交互的。
看过百度地图api的童鞋知道有个方法,可以将北斗或GPS的坐标转换为百度地图的球面坐标。
方法名称为:BMap.Convertor.translate(point,0,translateCallback);
具体参数就不解释了,请谷歌百度一下吧。
我想说的是,这个方法是一个回调的方法,point是北斗或GPS的坐标点,当坐标转换完成后使用translateCallback这个回调方法传回改变后的坐标点。
我很好奇为何需要用回调的方式来转换坐标点?直接给一个转换公式不是更好吗?
看代码。如果要使用BMap.Convertor.translate必须引入convertor.js,坐标转换的玄机就在这了
convertor.js的代码不多就30多行,看了老半天都没发现有什么坐标转换的公式
但有个意外收获,发现如下语句:
var xyUrl = "http://api.map.baidu.com/ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackName;
瞬间发现上当了,终于明白为什么要使用回调这么麻烦的方法来完成坐标转换的问题了。
原来坐标的转换的公式根本就不想给你看到,百度转换坐标的方法是这样的:
1 获取原始的北斗或GPS的坐标值
2 将坐标点发送到api.map.baidu.com/ag/coord/convert?...
3 有返回值后调用回调函数,将转换后的坐标点给你
这使用回调是因为需要向另外一个地址请求处理,是异步的操作。
实验一下这个链接,返回如下:
{"error":0,"x":"MTA4LjI5Njc5Mzc.....","y":"MjIuODQzMTM2MDE....."}
ps:没有传入 callback=BMap.Convertor值。值不完全我省略了,不然你就知道我在哪了。
这个结果貌似有点出人意料,x和y的值并非我们想想要的坐标点
做个测试:
test_point = new BMap.Point("MTA4LjI5Njc5Mzc.....", "MjIuODQzMTM2MDE.....");
alert(test_point.lng + ":" + test_point.lat);
发现其实这些值是编码后的坐标点,不管是什么编码方式,用百度的API是可以解读的
现在终于知道百度坐标点是如何完成转换的了。(其实还是不知道,看不到服务器的代码。。。)
http://my.oschina.net/u/782560/blog/121615
相关推荐
本文将详细介绍如何使用Java实现WGS84坐标与Google地图坐标、百度地图坐标之间的转换,并且会探讨相关的理论背景以及如何在实际项目中应用这些工具类。 首先,WGS84(World Geodetic System 1984)是一种全球通用的...
* 各地图API坐标系统比较与转换; * WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); ...
此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
本文将深入探讨“火星坐标转换为GPS坐标”的主题,这是由于中国的北斗卫星导航系统采用了与全球定位系统(GPS)不同的坐标系,即火星坐标系。为了在中国地区进行精准定位,需要将火星坐标转换为广为使用的GPS坐标,...
本项目主要涉及了两个关键知识点:GPS-UTC时间转换和坐标系转换,这些在C#编程环境下实现,并通过可视化界面提供了良好的用户体验。 首先,我们来探讨GPS-UTC时间转换。全球定位系统(GPS)使用的是“GPS时”(GPST...
本文将深入探讨由“漠北”提供的Delphi源码,该代码实现了GPS、火星坐标以及百度坐标之间的转换。首先,我们来理解这三个坐标系统: 1. GPS坐标系统:全球定位系统(GPS)采用的是WGS84坐标系,这是一个国际上广泛...
* 各地图API坐标系统比较与转换; * WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); * ...
总结来说,这个资源对于需要处理坐标转换问题的开发者而言非常有价值,尤其是那些在GIS、导航或测绘领域的工作者。C++的实现和X64动态库设计确保了性能和兼容性,而七参数转换方法则保证了转换的精确性。同时,支持...
% * 各地图API坐标系统比较与转换; % * WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, % * 谷歌地图采用的是WGS84地理坐标系(中国范围除外); ...
GPS和北斗双模定位,获取经纬度并转换为百度坐标在百度地图上显示出来
在转换过程中,需要将北斗卫星信号中包含的BD坐标信息转化为与GPS兼容的WGS84坐标。 转换代码可能会包括以下几个步骤: 1. **数据解析**:首先,需要解析北斗原始数据,提取出其中的卫星信息,如伪距、卫星位置、...
本文件"rtkcmn.rar"似乎包含了RTKLIB的一部分源代码,特别是涉及到坐标转换的部分,如GPS时间到北斗时间和UTC(世界协调时)的转换,以及空间直角坐标系、大地坐标系和站心坐标系之间的转换。 首先,让我们深入了解...
### NEMA格式_GPS数据提取解析_坐标转换 #### 一、引言 随着卫星导航技术的迅速发展,传统的导航方式如无线电导航、天文导航等逐渐被替代,卫星导航技术因其在精度、实时性和全天候性方面的显著优势而受到广泛关注...
我们将深入探讨C语言实现、高斯投影以及与北斗(BDS)和全球定位系统(GPS)坐标的关系。 首先,让我们理解什么是经纬度。经纬度是地球上位置的一种常用表示方式,其中经度表示东西方向的位置,以本初子午线(通过...
各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, 谷歌地图采用的是WGS84地理坐标系(中国范围除外); GCJ02坐标...
1. **WGS84坐标系**:全球最常用的坐标系,用于GPS(全球定位系统)和大多数在线地图服务,如Google Maps。它的原点位于地球质心,赤道为0纬线,本初子午线为0经线。 2. **CGCS2000坐标系**:中国国家大地坐标系,...
GPS定位信息通常以WGS-84坐标系表示,而实际应用中可能需要转换为其他坐标系,如地方坐标系,以便与电子地图匹配。这一过程涉及到复杂的坐标转换算法,确保定位信息准确地在GIS系统中显示。 6. **系统优势** 该...
需求分析主要包括实时采集北斗/GPS双模接收机的位置信息,将WGS84坐标转换为施工坐标,计算船体在施工坐标中的方位角和坐标平移参数,实时显示目标船位和实际船位等。此外,系统还需要能够导入工程桩的施工信息,...
在某些情况下,尤其是中国的应用中,可能需要将GPS坐标转换为火星坐标,以便更好地与国内的GIS系统兼容。 在iOS开发中,如果使用“GPS偏移数据库测_火星坐标(IOS版本修改版)”,开发者可能需要进行以下操作: 1....
然而,需要注意的是,中国的北斗导航系统和百度地图使用的是GCJ-02(国测局02)坐标系,也被称为火星坐标系。GCJ-02是在WGS84基础上进行了一次加密处理,使得直接使用WGS84坐标在百度地图上定位会出现误差。因此,...