首先,百度地图api里面有获取经纬度的方法,直接用:
//获取经纬度
var city_lng = '';
var city_lat = '';
var long_val = '';
var lat_val = '';
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
city_lat = r.latitude;
city_lng = r.longitude;
Cookies.set("save_city_latitude",city_lat);
Cookies.set("save_city_longitude",city_lng);
// console.log(city_lat);
// console.log(city_lng);
//遍历配送点经纬度
$('.sites').each(function(){
var $this = $(this);
long_val = $this.find('.longitude').val();
lat_val = $this.find('.latitude').val();
//调用函数计算
var distance = GetDistance(lat_val,long_val,city_lat,city_lng);
$this.find('.sites-distance').text(distance);
var Recommend_spot = $this.find('.sites-distance').text();
});
});
上述代码把两地的经纬度都获取到了(用户的经纬度是通过api获得的,其他的经纬度是后台给的,通过遍历的方式获取到每一个的经纬度);
下一步:通过js获取两地的距离
function Rad(d){
return d * Math.PI / 180.0;//经纬度转换成三角函数中度分表形式。
}
function GetDistance(lat1,lng1,lat2,lng2) {
var radLat1 = Rad(lat1);
var radLat2 = Rad(lat2);
var a = radLat1 - radLat2;
var b = Rad(lng1) - Rad(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 *6378.137 ;// EARTH_RADIUS;
s = Math.floor(s * 10000) / 10000; //输出为公里
s = parseInt(s);
return s;
}
直接调用就行了,这样就获取到了两地的距离;
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天