获取位置uni.getLocation
1.type、circle、makers
默认为type: ‘wgs84’
如想获取地址信息,需设置为geocode:true,type:‘gcj02’
【只在app端有效,且打包需正确方可使用】
circle、makers用于在地图上显示圆形范围及标记图标等信息
2.打包
高德创建的应用PackageName和uniapp打包时候的Android包名一致,不然app端getLocation无法获取位置
生成keystore证书
https://www.yunedit.com/在线打包
3.判断经纬度距离
var EARTH_RADIUS = 6378137.0;
var PI = Math.PI;
var lat1 = this.markers[0].latitude;
var lat2 = this.markers[1].latitude;
var lng1 = this.markers[0].longitude;
var lng2 = this.markers[1].longitude;
console.log(lat1,lat2,lng1,lng2)
function getRad(d) {
return d * PI / 180.0;
}
var radLat1 = getRad(lat1);
var radLat2 = getRad(lat2);
var a = radLat1 - radLat2;
var b = getRad(lng1) - getRad(lng2);
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = Math.round(s * 10000) / 10000.0;
console.log(s,'单位为m')