js 根据当前位置经纬度,获取一定距离内的经纬度的最大/小值
生活随笔
收集整理的這篇文章主要介紹了
js 根据当前位置经纬度,获取一定距离内的经纬度的最大/小值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據提供的經緯度,返回配置范圍內經緯度的最大值和最小值。
使用示例:getMaxMinLongitudeLatitude(curPositionObj.lng,
curPositionObj.lat, 0.5)//范圍當前位置500米范圍內經緯度的最大值和最小值
var isPosition = true, //是否定位curPositionObj, //當前經緯度curPostionRange, //經緯度范圍curPositionSuc=false; //當前定位是否成功 if (isPosition) {//精準定位AMap.plugin('AMap.Geolocation', function() {var geolocation = new AMap.Geolocation({enableHighAccuracy: true,/*是否使用高精度定位,默認:true*/timeout: 10000,/*超過10秒后停止定位,默認:5s*/buttonPosition: 'RB',/*定位按鈕的停靠位置*/buttonOffset: new AMap.Pixel(10, 20),/*定位按鈕與設置的停靠位置的偏移量,默認:Pixel(10, 20)*/zoomToAccuracy: false /*定位成功后是否自動調整地圖視野到定位點*/});geolocation.getCurrentPosition(function(status, result) {if (status == 'complete') {curPositionSuc=true;curPositionObj=result.position;curPostionRange=getMaxMinLongitudeLatitude(curPositionObj.lng,curPositionObj.lat,0.5);//當前500米范圍的經緯度范圍。 } else {alert('定位失敗!');}});}); }/*** @param {*} longitude* @param {*} latitude* @param {*} distince 千米* @returns*/ function getMaxMinLongitudeLatitude(longitude,latitude,distince){let r = 6371.393; // 地球半徑千米let lng = longitude;let lat = latitude;let dlng = 2 * Math.asin(Math.sin(distince / (2 * r)) / Math.cos(lat * Math.PI / 180));dlng = dlng * 180 / Math.PI;// 角度轉為弧度let dlat = distince / r;dlat = dlat * 180 / Math.PI;let minlat = lat - dlat;let maxlat = lat + dlat;let minlng = lng - dlng;let maxlng = lng + dlng;var lngLatObj={minlng:minlng,maxlng:maxlng,minlat:minlat,maxlat:maxlat}return lngLatObj; }總結
以上是生活随笔為你收集整理的js 根据当前位置经纬度,获取一定距离内的经纬度的最大/小值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式系统总结
- 下一篇: 打开html文件需要网络吗,html文件