一、介绍

本文介绍了百度API计算2点间距离及代码实例

  1. 百度地图JavaScript API
  2. 百度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);
	}

});

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐