将火星坐标转换成百度坐标

由于XX机票的项目,要用到酒店坐标定位,但是呢,服务器提供的坐标是高德 坐标,但是考虑到百度地图用的比较熟悉了,所以考虑将高德坐标转换成百度坐标来做。


以下介绍部分的内容转载自:http://blog.csdn.net/yorling/article/details/9175913

但是,转换部分还是参考本文

总结:

WGS84坐标系:即地球坐标系,国际上通用的坐标系。

GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。

BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。

搜狗坐标系、图吧坐标系等,估计也是在GCJ02基础上加密而成的。

 

二、各个地图API采用的坐标系

API坐标系
百度地图API百度坐标
腾讯搜搜地图API火星坐标
搜狐搜狗地图API搜狗坐标*
阿里云地图API火星坐标
图吧MapBar地图API图吧坐标
高德MapABC地图API火星坐标
灵图51ditu地图API火星坐标

======================================================================================

代码如下:

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.LocationData;
import com.baidu.mapapi.map.*;
import com.baidu.mapapi.map.*;
import com.baidu.mapapi.utils.*;
import com.baidu.mapapi.*;
import android.content.Context;
import android.app.Activity;
import android.content.Intent;
import com.baidu.platform.comapi.basestruct.GeoPoint;




	public static JWD point_GCJ_conversion_bd09(JWD gcj)
	{
		JWD bd09 = new JWD();

		GeoPoint googlePoint = new GeoPoint((int) (gcj.latitude * 1E6), (int) (gcj.longitude * 1E6)); 
		GeoPoint bdPoint = CoordinateConvert.fromGcjToBaidu(googlePoint);
		
		bd09.latitude = bdPoint.getLatitudeE6() / 1E6;
		bd09.longitude = bdPoint.getLongitudeE6() / 1E6;
		
		return bd09;
		
	}
	

	public static JWD point_GCJ_conversion_bd09(double lat, double lon)
	{
		JWD gcj = new JWD();
		gcj.latitude = lat;
		gcj.longitude = lon;
		
		return point_GCJ_conversion_bd09(gcj);
		
	}


class JWD
{
	double latitude;
	double longitude;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值