知識
不管是網站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
微信小程序限定位置范圍
發(fā)表時間:2021-1-11
發(fā)布人:葵宇科技
瀏覽次數:119
1、獲取當前位置經緯度
onLoad: function (options) {
var that = this;
campaign_id = campaign_id
wx.getLocation({
type: 'wgs84',
success: function (res) {
console.log(res)
lat1 = res.latitude,
lng1 = res.longitude
}
})
}
2、通過點擊事件打開地圖選擇位置
site: function () {
var that = this;
wx.chooseLocation({
success: function (res) {
// name 位置名稱
// address 詳細地址
// latitude 緯度,浮點數,范圍為 - 90~90,負數表示南緯
// longitude 經度,浮點數,范圍為 - 180~180,負數表示西經
console.log(res);
var site_val = res.address;
lat2 = res.latitude;
lng2 = res.longitude;
if (Number(juli(lat1, lng1, lat2, lng2))>0.5){
wx.showModal({
title: '溫馨提示',
content: '位置不能離你大于500米',
success: function (res) {
if (res.confirm) {
that.site()
} else if (res.cancel) {
console.log('用戶點擊取消')
}
}
});
}else{
that.setData({
site_val: site_val
});
}
console.log('兩點之間距離多少km:',juli(lat1, lng1, lat2, lng2));
}
})
},
3、計算兩地之間的距離
// 計算兩地之間的距離
function juli(lat1, lng1, lat2, lng2) {
console.log(lat1, lng1, lat2, lng2)
var radLat1 = lat1 * Math.PI / 180.0;
var radLat2 = lat2 * Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
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 * 6378.137;
s = Math.round(s * 10000) / 10000;
return s
}