前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >离线地图开发:google地图坐标和百度地图的相互转化

离线地图开发:google地图坐标和百度地图的相互转化

作者头像
用户1220053
发布2022-01-07 14:42:43
1.2K0
发布2022-01-07 14:42:43
举报
文章被收录于专栏:DT乱“码”DT乱“码”
代码语言:javascript
复制
		jQuery.MapConvert = {
			x_pi : 3.14159265358979324 * 3000.0 / 180.0,
			/// <summary>
			/// 中国正常坐标系GCJ02协议的坐标,转到 百度地图对应的 BD09 协议坐标
			///  point 为传入的对象,例如{lat:xxxxx,lng:xxxxx}
            /// google地图坐标转换成百度地图坐标
			/// </summary>
			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;
			},
			/// <summary>
			/// 百度地图对应的 BD09 协议坐标,转到 中国正常坐标系GCJ02协议的坐标
            /// 百度地图坐标转换成google地图坐标
			/// </summary>
			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);
			}
		}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/06/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档