一、介绍
本文介绍了百度API计算2点间距离及代码实例
- 百度地图JavaScript API
- 百度web服务API
二、使用百度地图JavaScript API
百度API官网地址:http://lbsyun.baidu.com/index.php?title=jspopular
步骤1:页面引用js
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的浏览器秘钥"></script>
步骤2:js中进行转换
//门店的位置
var storelon=$("#storeLongitude").val(); //门店经度
var storelat=$("#storeLatitude").val(); //门店纬度
//当前位置
var curlon=$("input[name='longitude']").val(); //当前经度
var curlat=$("input[name='latitude']").val(); //当前纬度
var map = new BMap.Map("allmap");
var pointA = new BMap.Point(storelon,storelat); // 创建点坐标A
var pointB = new BMap.Point(curlon,curlat); // 创建点坐标B
var range=map.getDistance(pointA,pointB).toFixed(2); //获取两点距离,保留小数点后两位
console.log("门店距离当前"+range);
三、使用百度web服务API
百度API官网地址:http://lbsyun.baidu.com/index.php?title=webapi/route-matrix-api-v2
步骤1:js中进行转换
注:调取接口返回的range距离是number类型
//门店的位置
var storelon=$("#storeLongitude").val(); //门店经度
var storelat=$("#storeLatitude").val(); //门店纬度
//当前位置
var curlon=$("input[name='longitude']").val(); //当前经度
var curlat=$("input[name='latitude']").val(); //当前纬度
//使用百度解析地址距离
var url = "https://api.map.baidu.com/routematrix/v2/walking?output=json&origins="+storelat+","+storelon+"&destinations="+curlat+","+curlon+"&ak=你的服务端秘钥&coord_type=wgs84";
jQuery.ajax({
url: url,
type: "GET",
dataType: "jsonp", //指定服务器返回的数据类型
success: function (data) {
if(data.status!='0'){
alert('解析地理位置错误');
}
var range = data.result[0].distance.value;//直线距离
console.log("门店距离当前"+range);
}
});