由于百度地图在GCJ02协议的基础上又做了一次处理,变为 BD09协议的坐标,以下是坐标的转化方式,可以方便和其他平台转化。
C#版本:
private const double x_pi = 3.14159265358979324 * 3000.0 / 180.0; /// <summary> /// 中国正常坐标系GCJ02协议的坐标,转到 百度地图对应的 BD09 协议坐标 /// </summary> /// <param name="lat">维度</param> /// <param name="lng">经度</param> public static void Convert_GCJ02_To_BD09(ref double lat,ref double lng) { double x = lng, y = lat; double z =Math.Sqrt(x * x + y * y) + 0.00002 * Math.Sin(y * x_pi); double theta = Math.Atan2(y, x) + 0.000003 * Math.Cos(x * x_pi); lng = z * Math.Cos(theta) + 0.0065; lat = z * Math.Sin(theta) + 0.006; } /// <summary> /// 百度地图对应的 BD09 协议坐标,转到 中国正常坐标系GCJ02协议的坐标 /// </summary> /// <param name="lat">维度</param> /// <param name="lng">经度</param> public static void Convert_BD09_To_GCJ02(ref double lat, ref double lng) { double x = lng - 0.0065, y = lat - 0.006; double z = Math.Sqrt(x * x + y * y) - 0.00002 * Math.Sin(y * x_pi); double theta = Math.Atan2(y, x) - 0.000003 * Math.Cos(x * x_pi); lng = z * Math.Cos(theta); lat = z * Math.Sin(theta); }
PHP版本:
/** * 中国正常GCJ02坐标---->百度地图BD09坐标 * 腾讯地图用的也是GCJ02坐标 * @param double $lat 纬度 * @param double $lng 经度 */ function Convert_GCJ02_To_BD09($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng; $y = $lat; $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi); $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi); $lng = $z * cos($theta) + 0.0065; $lat = $z * sin($theta) + 0.006; return array('lng'=>$lng,'lat'=>$lat); } /** * 百度地图BD09坐标---->中国正常GCJ02坐标 * 腾讯地图用的也是GCJ02坐标 * @param double $lat 纬度 * @param double $lng 经度 * @return array(); */ function Convert_BD09_To_GCJ02($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng - 0.0065; $y = $lat - 0.006; $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi); $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi); $lng = $z * cos($theta); $lat = $z * sin($theta); return array('lng'=>$lng,'lat'=>$lat); }
jQuery版本:
jQuery.MapConvert = { x_pi: 3.14159265358979324 * 3000.0 / 180.0, /** * 中国正常坐标系GCJ02协议的坐标,转到 百度地图对应的 BD09 协议坐标 * point 为传入的对象,例如{lat:xxxxx,lng:xxxxx} */ Convert_GCJ02_To_BD09: function (point) { var x = point.lng, y = point.lat; var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * jQuery.MapConvert.x_pi); var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * jQuery.MapConvert.x_pi); point.lng = z * Math.cos(theta) + 0.0065; point.lat = z * Math.sin(theta) + 0.006; }, /** * 百度地图对应的 BD09 协议坐标,转到 中国正常坐标系GCJ02协议的坐标 */ Convert_BD09_To_GCJ02: function (point) { var x = point.lng - 0.0065, y = point.lat - 0.006; var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * jQuery.MapConvert.x_pi); var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * jQuery.MapConvert.x_pi); point.lng = z * Math.cos(theta); point.lat = z * Math.sin(theta); } }
相关推荐
2、GCJ-02,又称为“火星坐标”,国家测绘局在02年发布的坐标体系,在国内,至少得使用此坐标体系,比如:google、高德、腾讯地图等; 3、其他特殊坐标体系,一般都是由火星坐标通过偏移算法计算得出的,比如百度...
地图经纬度互换(百度,高德,谷歌,腾讯,搜狗) 具有以下功能 1、通过经纬度获取地址信息。 2、通过地址信息获取经纬度。 3、高德谷歌经纬度转百度地图经纬度。 4、百度经纬度转高德谷歌经纬度。 注,本程序来自于...
提供了高德、百度、谷歌、腾讯和必应地图的经纬度坐标与瓦片坐标的相互转换 特点 实现了国内常用地图的经纬度坐标与瓦片坐标的相互转换 使用 UMD 模块打包,可以在 node 和 browser 中直接使用 转换原理 各地图的...
支持谷歌、百度、高德、天地图、腾讯、微软、here等市面上主流的网络地图。 其它 1.支持矩形框选、多边形框选、标准分幅、边界坐标导入等下载; 2.内置全国省市县边界坐标,可以直接选择行政区范围下载; 3.支持Auto...
分为 地球坐标,火星坐标(iOS mapView 高德 , 国内google ,搜搜、阿里云 都是火星坐标),百度坐标(百度地图数据主要都是四维图新提供的) 火星坐标: MKMapView 地球坐标: CLLocationManager 当用到...
主要实现了百度地图(BD09)、谷歌地图(GCJ02)、谷歌地球(WGS84)三者坐标系之间互转。懂的人应该就懂了,不懂的就再说明一句。谷歌地图相当于火星坐标系,也就是高德、腾讯坐标系。是个Util,拿去按需调用即可。
分为 地球坐标,火星坐标(iOS mapView 高德 , 国内google ,搜搜、阿里云 都是火星坐标),百度坐标(百度地图数据主要都是四维图新提供的) 火星坐标: MKMapView 地球坐标: CLLocationManager 当用到...
支持经纬度类型:Google Earth, Google Maps, 百度地图,腾讯地图,高德地图,图吧地图。 单点查看与人工审核、修正坐标结果 你可以在地图上查看单点结果位置,如果位置不正确,你可以通过点击地图或搜索产生新的...
实现目的:将百度地图经纬度 转换到 腾讯地图/Google 对应的经纬度. 方法1:使用代码进行转换 存在的问题:转换之后误差大,基本不可用 public static void Convert_BD09_To_GCJ02(double lat, double lng) { ...
2、GCJ-02,又称为“火星坐标”,国家测绘局在02年发布的坐标体系,在国内,至少得使用此坐标体系,比如:google、高德、腾讯地图等; 3、其他特殊坐标体系,一般都是由火星坐标通过偏移算法计算得出的,比如...
老程序收集的程序是百度的bd0911坐标,而小程序坐标是腾讯按另一个标准来的坐标系统。两边不但有偏差,而且百度的bd0911貌似还不能转成腾讯现在用的标准。这好坑好坑,莫非要搞双份坐标采集? 附各种坐标标准: wgs...
软件界面使用为百度API的坐标转换, 内部代码包含 GPS设备/谷歌地球坐标(WGS84)、谷歌中国/腾讯/高德地图坐标(GCJ02)、百度坐标(BD09) 的坐标互转的本地算法 内含示例 本地算法都会有一定的偏差 此本地算法实测WGS84...
- 坐标拾取和坐标转换:GPS(WGS84)、火星坐标(GCJ02)、百度坐标(BD09)等相互转换,地理编码和反地理编码等; - POI查询:通过百度地图、高德地图、腾讯地图等WebAPI搜索、保存POI数据; - 地图下载、拼接:通过...
支持经纬度类型:Google Earth, Google Maps, 百度地图,腾讯地图,高德地图,图吧地图。 单点查看与人工审核、修正坐标结果 你可以在地图上查看单点结果位置,如果位置不正确,你可以通过点击地图或搜索产生新的...
1,WGS-84: 原始GPS坐标系, Google Earth坐标系, 微软Bing地图坐标系, 国际通用标准 2,GCJ-02: 火星坐标系, 高德坐标系, 腾讯soso坐标系(国内), 谷歌坐标系(国内), 国测局坐标. 3,BD-09: 百度地图坐标系.
1. 支持几十种地图下载,包括不仅限于谷歌、百度、高德、微软、诺基亚、天地图、腾讯、ArcGIS Online、雅虎的街道图、卫星图、地形图。 2. 提供海量地图下载,下载图片数量无任何限制,模拟浏览器请求方式进行地图...
BS/CS/Mobile离线访问、离线站点自动构建、国家基本比例尺地形图分幅下载、大图智能分块、地标自动绘制、坐标系转换(CGCS2000/WGS84/Xianan80/Beijing54等)、专业纠偏(WGS84/GCJ-02/BD-09互转)等
1、支持地图种类繁多:几乎包含所有主流在线地图,包括不仅限于谷歌、百度、高德、四维、微软、诺基亚、天地图、腾讯、ArcGIS、雅虎等地图,每种地图各有千秋。 2、支持海量地图下载:下载图片数量无任何限制,...
『太乐地图下载器』是一款集地图、GoogleEarth高程、POI下载等众多专业功能于一体的地图下载类软件,为您提供多种地图数据随心下载的同时,还能助您快速构建WebGIS地图应用。 ①支持多种类地图数据下载 街道、卫...
地图随意变色、BS/CS/Mobile离线访问、离线站点自动构建、国家基本比例尺地形图分幅下载、大图智能分块、地标自动绘制、坐标系转换(CGCS2000/WGS84/Xianan80/Beijing54等)、专业纠偏(WGS84/GCJ-02/BD-09互转)等