wx.getLocation({type: "wgs84", //wgs84success: res => {var lat = res.latitude;var lng = res.longitude;console.log(lat + "||latitude");console.log(lng + "||longitude");// wgs84转百度坐标系var ssws = that.wgs84togcj02(lng, lat);ssws = that.gcj02tobd09(ssws[0], ssws[1]);//解决定位偏移var ssssss1 = ssws[1] - 0.00016;var ssssss2 = ssws[0] - 0.00016;that.setData({ latitude: ssssss1.toFixed(6), longitude: ssssss2.toFixed(6) });that.setData({jd: ssssss2.toFixed(6),wd: ssssss1.toFixed(6),});},
});
// wgs84转百度坐标系;
const that = {//地图定位精确方法/*** WGS84转GCj02* @param lng* @param lat* @returns {*[]}*/wgs84togcj02: function (lng, lat) {var that = this;var x_PI = (3.14159265358979324 * 3000.0) / 180.0;var PI = 3.1415926535897932384626;var a = 6378245.0;var ee = 0.00669342162296594323;if (that.out_of_china(lng, lat)) {return [lng, lat];} else {var dlat = that.transformlat(lng - 105.0, lat - 35.0);var dlng = that.transformlng(lng - 105.0, lat - 35.0);var radlat = (lat / 180.0) * PI;var magic = Math.sin(radlat);magic = 1 - ee * magic * magic;var sqrtmagic = Math.sqrt(magic);dlat = (dlat * 180.0) / (((a * (1 - ee)) / (magic * sqrtmagic)) * PI);dlng = (dlng * 180.0) / ((a / sqrtmagic) * Math.cos(radlat) * PI);var mglat = lat + dlat;var mglng = lng + dlng;return [mglng, mglat];}},/*** 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换* 即谷歌、高德 转 百度* @param lng* @param lat* @returns {*[]}*/gcj02tobd09: function (lng, lat) {var that = this;var x_PI = (3.14159265358979324 * 3000.0) / 180.0;var PI = 3.1415926535897932384626;var a = 6378245.0;var ee = 0.00669342162296594323;var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_PI);var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_PI);var bd_lng = z * Math.cos(theta) + 0.0065;var bd_lat = z * Math.sin(theta) + 0.006;return [bd_lng, bd_lat];},transformlat: function (lng, lat) {var x_PI = (3.14159265358979324 * 3000.0) / 180.0;var PI = 3.1415926535897932384626;var a = 6378245.0;var ee = 0.00669342162296594323;var ret =-100.0 +2.0 * lng +3.0 * lat +0.2 * lat * lat +0.1 * lng * lat +0.2 * Math.sqrt(Math.abs(lng));ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0;ret += ((20.0 * Math.sin(lat * PI) + 40.0 * Math.sin((lat / 3.0) * PI)) * 2.0) / 3.0;ret += ((160.0 * Math.sin((lat / 12.0) * PI) + 320 * Math.sin((lat * PI) / 30.0)) * 2.0) / 3.0;return ret;},transformlng: function (lng, lat) {var x_PI = (3.14159265358979324 * 3000.0) / 180.0;var PI = 3.1415926535897932384626;var a = 6378245.0;var ee = 0.00669342162296594323;var ret =300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));ret += ((20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0) / 3.0;ret += ((20.0 * Math.sin(lng * PI) + 40.0 * Math.sin((lng / 3.0) * PI)) * 2.0) / 3.0;ret +=((150.0 * Math.sin((lng / 12.0) * PI) + 300.0 * Math.sin((lng / 30.0) * PI)) * 2.0) / 3.0;return ret;},/*** 判断是否在国内,不在国内则不做偏移* @param lng* @param lat* @returns {boolean}*/out_of_china: function (lng, lat) {return lng < 72.004 || lng > 137.8347 || lat < 0.8293 || lat > 55.8271 || false;},
};
export function wxWorkOPenLocation(obj, callBack) {let { address, name, longitude, latitude } = obj;//微信小程序腾讯地图坐标和百度地图坐标偏差纠正的解决方案//将 BD-09 坐标转换成  GCJ-02坐标let x_pi = (3.14159265358979324 * 3000.0) / 180.0;let x = Number(longitude) - 0.0065;let y = Number(latitude) - 0.006;let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);let wz = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);let lon = z * Math.cos(wz);let lat = z * Math.sin(wz);longitude = lon;latitude = lat;// console.log(longitude, latitude);const getLocation = () => {wx.openLocation({type: "gcj02", //  type: 'wgs84 | gcj02' ,longitude,latitude,name,address,scale: 15,success: res => {callBack(true);},cancel: function () {callBack(false);authorizeLocationFn();},fail: () => {callBack(false);},});};wxConfig(getLocation);
}

wgs84转百度坐标系相关推荐

  1. STM32开发 -- 地球坐标系(WGS84),火星坐标系(GCJ02), 百度坐标系(BD09)坐标转换

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/99599071 STM32开发 – GPS模块开发详解 最后有提到一下: WGS84坐标系 ...

  2. wgs-84,gcj-02,bd-09的相互转换,高德,世界测量,百度坐标系的相互转换,坐标系转换

    高德使用的是gcj-02坐标系,百度使用的是bd09坐标系,注意其间的相互转换 1.首先创建一个GPS对象类 public class Gps {private double wgLat;privat ...

  3. 各坐标系转换,百度、高德、wgs84、cgcs2000坐标系互转

    首先申明:转换方法都是网上找的,但是都不全,整理了一下 其中wgs84.cgcs2000互转结果有差异,也就是完全还原不了 先附上百度.高德.wgs84互转方法 js /*** Created by ...

  4. WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换,mybatis字段映射原理

    1.各坐标系简介 2.各坐标系转换 2.1坐标点实体类 2.2各坐标系转换工具类 3.测试 1.各坐标系简介 WGS84坐标系 即地球坐标系,国际上通用的坐标系. 设备一般包含GPS芯片或者北斗芯片获 ...

  5. GCJ-02火星坐标系、BD-09百度坐标系和WGS-84坐标系转换

    WGS-84:GPS坐标系 GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用. BD-09:百度坐标系 GCJ-02火星坐标系和WGS-84坐标系转换关系 var pi = 3. ...

  6. GPS坐标系(WGS84)、火星坐标系(GCJ02)、百度坐标系(BD-09)的相互转换

    WGS-84:  GPS坐标系,国际标准,GPS模块使用. GCJ-02:   火星坐标系,国测局坐标系,谷歌.高德.腾讯等使用. BD-09:     百度坐标系,百度地图使用. GCJ-02 转W ...

  7. 火星坐标系 (GCJ-02)、WGS84、百度地图(BD-09)坐标系转换公式

    不同的坐标系之间会有坐标偏差,从一个坐标系中获取的坐标在另个一个坐标系中会有偏移,因此,需要在使用前做一个转换,下面是比较常用的几个转换公式. 原文链接 //定义一些常量 var x_PI = 3.1 ...

  8. 基于Postgresql和PostGIS实现火星坐标系、百度坐标系、WGS84坐标系、CGCS2000坐标系互转

    背景 最近有一个需求,需要将WGS84转成火星坐标系.个人觉得在代码中逐个点坐标进行转换,太麻烦,而且效率低.PostGIS的st_transform虽然可以进行坐标转换,但是不支持国内这些坐标系.最 ...

  9. 百度坐标系与WGS84坐标系互转

    *百度坐标系(BD09)与火星坐标系(GCJ-02)的转换*即 百度 转 高德 .谷歌*/var bd09togcj02 =function bd09togcj02(bd_lon,bd_lat){va ...

最新文章

  1. HDU 6435 CSGO 求多维曼哈顿最远距离
  2. Tomexam在线考试系统 2.1
  3. 合并表格,并实现对datatable的group by 功能
  4. csdn,我真的来了。
  5. js date转成 时间字符串_秋招快要开始了,前端笔试中的坑位-JS隐式转换问题
  6. 知网又火了!续订费近千万且连年上涨 中科院:不堪重负 停用
  7. OpenCV AI Kit (OAK) 创始人Brandon Gilles访谈全记录
  8. (秒杀项目) 4.10 项目面试项目常见问题
  9. 清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》
  10. NanDigits GOF ECO 9介绍
  11. java英文面试常见问题归纳
  12. Alpha 测试(α测试) Beta 测试(β测试)区别
  13. lofter 爬虫_Python网络爬虫1 - 爬取网易LOFTER图片
  14. @所有人:产品汪、运营喵专属台历,你值得拥有!
  15. h5与原生app交互的原理
  16. 福昕阅读器不显示菜单栏和工具栏
  17. 最靠谱的6个自媒体平台,也可以快速上手
  18. AJAX for asp.net 插件安装及测试
  19. Sql Server插入随机数
  20. linux centos7安装ftp步骤

热门文章

  1. 和平精英镜头灵敏度怎么调到最稳呢
  2. SpringCloud Alibaba实战--第八篇:Seata分布式事务处理
  3. 如何自定义您的Nintendo Switch主屏幕
  4. 解决2019款macbookpro -16寸 外接显示器风扇不停的转,温度特别高
  5. unreal engine 4 如何创建地形、地表贴图。
  6. 如何在矩池云上安装语音识别模型 Whisper
  7. msvcr120.dll WIN7 64位/32位丢失怎么办
  8. saas php7框架开源,HRM SAAS v2.5.7 – PHP人力资源管理系统SaaS平台版
  9. Smart200控制两台V90伺服,绝对定位和速度控制,有屏程序,PN通信。 注释清楚
  10. Python读取和写入excel文件