百度地图距离计算,计算结果和调用百度的api一样
2021-10-01 17:14
标签: var DEF_PI =Math.PI;// 3.14159265359var DEF_2PI =2 *Math.PI;// 6.28318530712var DEF_PI180 =Math.PI/ 180.0;// 0.01745329252var DEF_R =6370996.81;// radius of earth // 利用弧夹角方式计算地图上两点之间的距离,和百度地图计算结果不一致function GetShortDistance(lon1, lat1, lon2, lat2){ var ew1, ns1, ew2, ns2; var dx, dy, dew; var distance; // 角度转换为弧度 ew1 = lon1 * DEF_PI180; ns1 = lat1 * DEF_PI180; ew2 = lon2 * DEF_PI180; ns2 = lat2 * DEF_PI180; // 经度差 dew = ew1 - ew2; // 若跨东经和西经180 度,进行调整 if (dew> DEF_PI) dew = DEF_2PI - dew; else if(dew 1.0) distance = 1.0; else if(distance