DDR爱好者之家 Design By 杰米
正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离:
var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,point2); //point1、point2 是Point对象
如果在不使用百度地图,但是已知百度地图的经纬度情况下也是可以计算出与上面相同的值的
三方库 此库提供计算两点距离的方法
引用此库使用 返回(米)
BMapLib.GeoUtils.getDistance(point1 ,point2)
当然如果只想计算距离也可以直接用下面的代码:
注:BMap需要导入,使用如下:
BMapLib.GeoUtils.getDistance(lng1,lat1,lng2,lat2)
import BMap from 'BMap' var BMapLib = window.BMapLib = BMapLib || {}; (function() { /** * 地球半径 */ var EARTHRADIUS = 6370996.81; /** * @exports GeoUtils as BMapLib.GeoUtils */ var GeoUtils = /** * GeoUtils类,静态类,勿需实例化即可使用 * @class GeoUtils类的<b>入口</b>。 * 该类提供的都是静态方法,勿需实例化即可使用。 */ BMapLib.GeoUtils = function(){ }; /** * 将度转化为弧度 * @param {degree} Number 度 * @returns {Number} 弧度 */ GeoUtils.degreeToRad = function(degree){ return Math.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); } return v; } /** * 将v值限定在a,b之间,经度使用 */ function _getLoop(v, a, b){ while( v > b){ v -= b - a } while(v < a){ v += b - a } return v; } /** * 计算两点之间的距离,两点坐标必须为经纬度 * @param {lng1} Number 点对象 * @param {lat1} Number 点对象 * @param {lng2} Number 点对象 * @param {lat2} Number 点对象 * @returns {Number} 两点之间距离,单位为米 */ GeoUtils.getDistance = function(lng1, lat1, lng2 ,lat2){ let point1 = new BMap.Point(parseFloat(lng1) ,parseFloat(lat1)); let point2 =new BMap.Point(parseFloat(lng2) ,parseFloat(lat2)); //判断类型 if(!(point1 instanceof BMap.Point) || !(point2 instanceof BMap.Point)){ return 0; } point1.lng = _getLoop(point1.lng, -180, 180); point1.lat = _getRange(point1.lat, -74, 74); point2.lng = _getLoop(point2.lng, -180, 180); point2.lat = _getRange(point2.lat, -74, 74); let x1, x2, y1, y2; x1 = GeoUtils.degreeToRad(point1.lng); y1 = GeoUtils.degreeToRad(point1.lat); x2 = GeoUtils.degreeToRad(point2.lng); y2 = GeoUtils.degreeToRad(point2.lat); return EARTHRADIUS * Math.acos((Math.sin(y1) * Math.sin(y2) + Math.cos(y1) * Math.cos(y2) * Math.cos(x2 - x1))); } })();
以上所述是小编给大家介绍的js根据百度地图提供经纬度计算两点距离详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]