场景:
项目需求为到店打卡的功能。店铺信息后台设置经纬度坐标,客户端定位计算与坐标距离,500米内即可打卡成功。
先看一下wx.getLocation()方法
这里的type我使用了gcj02的坐标系统
但是运营同事在后台设置的是百度地图里拿到的经纬度坐标,所以计算出来的距离偏差非常大。
关于坐标系统转换可以点这里查看原文章
我这里就要使用百度坐标(BD09)转GCJ坐标的方法
function BD09toGCJ(bd_lon, bd_lat) {
//定义一些常量
var x_PI = 3.14159265358979324 * 3000.0 / 180.0;
var PI = 3.1415926535897932384626;
var a = 637