WGS84坐标转换百度坐标

什么是地图坐标系转换?

目前常用的地图坐标系有多种标准,几家主流地图(如百度地图,高德地图和QQ地图等)使用的坐标系标准也各不相同。
假如您有GPS坐标,想在百度地图上显示;或者有百度地图的坐标,但想在微信地图上显示,这时就需要使用一些算法或通过官方的API来转换坐标,在目标地图上正确显示。

主流地图坐标系说明

1、WGS84坐标系

WGS-84坐标系为一种大地坐标系(地心坐标系,GPS原始坐标体系),也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。对应工
具“输入坐标类型”里的GPS坐标。

2、GCJ02坐标系

GCJ-02坐标系:国测局坐标,又名火星坐标系。

国测局02年发布的坐标体系,它是一种对经纬度数据的加密算法,即加入随机的偏差。

是国内最广泛使用的坐标体系,高德地图、腾讯地图都使用它

3、BD09坐标系

为百度地图坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。

4、CGCS2000坐标系

国家大地坐标系。该坐标系是通过中国GPS 连续运行基准站、 空间大地控制网以及天文大地网与空间地网联合平差建立的地心大地坐标系统。

废话不多说,品尝正餐吧~

提示:我的业务是GPS(WGS84)坐标转换为BD-09坐标,所以函数写到一起了,有时间再来拆分~~

/**
 * WGS84转GCj02
 * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
 * @param lng // 120.63014 (并非字符串)
 * @param lat // 32.394913 (并非字符串)
 * @DEMO: wgs84ToGcj02ToBd09Public(120.63014, 32.394913, {aaa: "aaa",bbb: "bbb",ccc: "ccc"})
 * @returns {*[{aaa: "aaa",bbb: "bbb",ccc: "ccc",latitude: 32.414345685248584,longitude: 120.52607270431302}]}
 * @Intro: 先将WGS84坐标转火星坐标再将火星坐标转百度坐标
 */
 function wgs84ToGcj02ToBd09Public(lng, lat) {
   
   
  const xPI = (3.14159265358979324 * 3000.0) / 180.0;
  const PI = 3.1415926535897932384626;
  const a = 6378245.0;
  const ee = 0.00669342162296594323;
  // WGS84转GCj02
  let dlat = transformlat(lng - 105.0, lat - 35.0);
  let dlng = transformlng(lng - 105.0, lat - 35.0);
  let radlat = (lat / 180.0) * PI;
  let magic = Math.sin(radlat);
  magic = 1 - ee * magic * magic;
  let sqrtmagic 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值