wgs84: gps获取出来的坐标就是wgs84标准的,但在国内不允许在互联网上直接使用这种坐标(应该是出于某些安全问题),所以就有了加密后的坐标baidu09.
“国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。” -- 百度地图常见api中是这么回答的。
现有的标准好像有好多:baidu, google, 搜狗, soso, 基本自己实现地图的都有自己的一套标准。
但要用百度地图的话必须要转换,搜了一下大概有这几种方式:
1. 通过web接口转换:http://blog.yyable.com/?p=342
2. 通过公式转换http://blog.yyable.com/?cat=9(只是在google和baidu间转, 没有gps和baidu转的)
3. 如果使用的是android的百度地图api的话里面有现成的转换类:
/***
* <p> 将坐标系统转换为baidu09加密的坐标系统. </p>
* @param geoPt 要转换的坐标
* @param coordType 当前坐标的类型
* @return 转换后的baidu09坐标
*/
public static GeoPoint convertToBaidu09Coord(GeoPoint geoPt, int coordType) {
GeoPoint retGeoPt;
Bundle bundle;
switch (coordType) {
case MKLocationManager.MK_COORDINATE_WGS84:
bundle = CoordinateConvert.fromWgs84ToBaidu(geoPt);
retGeoPt = CoordinateConvert.bundleDecode(bundle);
break;
case MKLocationManager.MK_COORDINATE_GCJ:
bundle = CoordinateConvert.fromGcjToBaidu(geoPt);
retGeoPt = CoordinateConvert.bundleDecode(bundle);
break;
case MKLocationManager.MK_COORDINATE_BAIDU09:
default:
retGeoPt = geoPt;
break;
}
return retGeoPt;
}
不过要注意的是:这个方法必须在百度地图启动后才能使用(BMapManager.start()后), 否则将原样放回; 好像它内部是通过socket的方式请求服务器转换的.
相关链接:
http://blog.yyable.com/?cat=9
http://blog.yyable.com/?p=342
http://www.cnblogs.com/jz1108/archive/2011/10/11/2207245.html
http://www.biaodianfu.com/baidu-ditu-api-map-coordinate.html?replytocom=366
http://www.cnblogs.com/yixinliu/archive/2012/07/26/2609631.html
base64编码, 解码工具
http://www.baidu.com/s?wd=base64+%E5%9C%A8%E7%BA%BF&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=14&rsv_sug=0&rsv_sug1=7&rsv_sug4=921
分享到:
相关推荐
主要实现百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换纠偏的JS实现
利用最新的BAIDU LBS库《BaiduLBS_Android.jar》,简便地把WGS84经纬度信息转换成BD09ll坐标,该代码段在Android Studio下验证通过
WGS84、GCJ02、BD09、搜狗坐标系相互转换方法。这是转换的代码,不是转换的原理文档。
- **WGS84到百度坐标转换**:百度坐标系统的转换相对复杂,因为它是经过加密的。一般使用百度提供的API进行转换,或者使用已知的偏移公式(如基于椭圆函数的反解法)进行近似计算。 - **百度坐标到WGS84转换**:这...
本文主要聚焦于Android系统中如何将GPS获取的坐标转换为适用于高德地图的坐标。 首先,我们需要理解不同坐标系统的概念。GPS坐标通常基于WGS84(World Geodetic System 1984)标准,这是一种全球通用的地理坐标系统...
在处理坐标时,可能需要进行坐标转换,例如从GPS的WGS84坐标转换到GCJ-02坐标。百度地图SDK提供了`BDGeocode`和`ReverseGeoCode`类,用于地址解析和反地址解析。 **应用实践** 在`baiduMapTest`这个项目中,我们...
- `double[] bd09ToGcj02(double latitude, double longitude)`:将百度坐标转换回GCJ-02坐标。 - `double[] wgs84ToGcj02(double latitude, double longitude)`:将WGS84坐标转换为GCJ-02坐标,作为上述两个函数的...
可以使用百度提供的转换工具类`BD09LL`,将WGS-84坐标转换为火星坐标。 4. **创建Marker**:在地图上显示特定位置,我们需要创建一个Marker。可以通过`Map.MarkerOptions`来设置Marker的位置、图标等属性。例如: ...
这个坐标系统与国际上广泛采用的WGS-84坐标系存在差异,因此在开发支持Android和iOS平台的地图应用时,需要进行坐标转换以确保位置信息的准确显示。本文将详细介绍火星坐标定位以及在Android和iOS平台上的地图转换。...
2. 解析百度坐标转换算法:理解百度坐标系统的加密机制,可能需要查阅百度官方文档或已有的开源库。 3. 实现转换函数:编写代码来执行从WGS84到百度坐标的转换,这可能涉及到线性代数操作和特定的转换公式。 4. 应用...
转换函数通常包括`bd09ToWgs84`和`wgs84ToBd09`,分别用于将BD09坐标转换为WGS84,反之亦然。 2. **腾讯坐标系与WGS84坐标系转换** 腾讯地图采用的是GCJ-02坐标系,也称为火星坐标系。转换函数包括`gcj02ToWgs84`...
1. **坐标转换**:在进行百度地图和谷歌地图互转时,首要步骤是进行坐标转换。百度地图到谷歌地图的转换通常需要一个转换公式,这个公式可以基于已知的转换参数(如偏移量)来调整坐标值。反之,从谷歌地图到百度...
通过阅读和理解代码,可以学习到如何在程序中处理这种坐标转换,例如在Android或iOS应用中接收GPS数据并将其正确显示在百度地图上。 在进行坐标转换时,需要注意精度问题,因为加密算法可能导致微小的计算误差。...
5. **百度坐标系统**:百度地图采用的是自己的坐标系,不同于广泛使用的WGS84坐标系统。百度坐标系是为了提高国内地图定位精度而设计的,因此在处理百度地图返回的数据时,需要注意坐标转换问题。如果需要与WGS84...
转换公式涉及线性代数和地理坐标转换算法,通常包含一个转换矩阵,将WGS84坐标转换为BD-09坐标。这个过程可以通过自定义函数实现,确保输入的经纬度能正确对应到百度地图的位置。 接下来,集成百度地图SDK是关键...
2. **坐标系统转换**:百度地图使用GCJ-02坐标系统,而Mapbox通常使用WGS84。为了正确显示百度地图切片,需要进行坐标转换。可以使用第三方库如proj4js进行转换。 3. **获取百度地图切片**:利用百度地图API,通过...
Mapbox使用WGS84坐标系统,而百度地图使用的是GCJ02(火星坐标)。你可以使用第三方库,如`proj4js`,来进行坐标转换。 5. **优化性能**:为了提高用户体验,可以考虑使用缓存策略,如使用浏览器的HTTP缓存或本地...
Qt是一个跨平台的应用程序开发框架,而百度地图则提供了丰富的地图服务,包括在线和离线地图API。结合两者,我们可以创建功能强大的地图应用。 首先,我们需要理解Qt中的QGraphicsView和QGraphicsScene组件,它们是...
【标题】"百度地图所有级别瓦片切割代码"所涉及的知识点主要集中在地图瓦片系统、Java编程语言以及坐标转换上。地图瓦片系统是数字地图的一种高效展示方式,而Java则是实现这一功能的主要编程工具。以下是这些知识点...