详解js根据百度地图提供经纬度计算两点距离
正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离:
varmap=newBMap.Map('map_canvas'); map.getDistance(point1,point2); //point1、point2是Point对象
如果在不使用百度地图,但是已知百度地图的经纬度情况下也是可以计算出与上面相同的值的
三方库此库提供计算两点距离的方法
引用此库使用返回(米)
BMapLib.GeoUtils.getDistance(point1,point2)
当然如果只想计算距离也可以直接用下面的代码:
注:BMap需要导入,使用如下:
BMapLib.GeoUtils.getDistance(lng1,lat1,lng2,lat2)
importBMapfrom'BMap' varBMapLib=window.BMapLib=BMapLib||{}; (function(){ /** *地球半径 */ varEARTHRADIUS=6370996.81; /** *@exportsGeoUtilsasBMapLib.GeoUtils */ varGeoUtils= /** *GeoUtils类,静态类,勿需实例化即可使用 *@classGeoUtils类的入口。 *该类提供的都是静态方法,勿需实例化即可使用。 */ BMapLib.GeoUtils=function(){ }; /** *将度转化为弧度 *@param{degree}Number度 *@returns{Number}弧度 */ GeoUtils.degreeToRad=function(degree){ returnMath.PI*degree/180; } /** *将v值限定在a,b之间,纬度使用 */ function_getRange(v,a,b){ if(a!=null){ v=Math.max(v,a); } if(b!=null){ v=Math.min(v,b); } returnv; } /** *将v值限定在a,b之间,经度使用 */ function_getLoop(v,a,b){ while(v>b){ v-=b-a } while(v以上所述是小编给大家介绍的js根据百度地图提供经纬度计算两点距离详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!