wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
}
});
我是直接用这个的,结果返回来的数据吓一跳,14位小数,我以为这个是特别精确的数据了。
结果我现在要做两个坐标的距离。
我用sql 算的距离:
RETURN CAST(geography::Point(@Latitude_1, @Longitude_1, 4326).STDistance(geography::Point
(@Latitude_2,@Longitude_2, 4326)) AS FLOAT)
怎么,我随便移动下手机,就在位置这里移动一两步,比对一下这两个位置,有时候是相差 几米,有时候相差几十米
这是我计算方式错了,还是每次获取定位有波动误差?
后台调用的是数据库的比对位置的,上图代码已经发了。
但是我吧主要的坐标都写在页面了,你可以看下。
就是你在办公室这个位置获取一个坐标,跑到另外一个屋子获取一个坐标,两个坐标在第四位小数就开始不一样了,我不太理解这个精度的问题。但是14位的小数,那么近的距离,按照我的理解,起码小数点第十位以后才会出现不一样的。
目前发现就是 我在这个屋子随便获取一个坐标,到另外一个隔壁屋子获取一个坐标,用sql的算法,算出来有时候相差几米,有时候相差几十米。
你好,可以提供下链接,并详细描述下复现的流程。