高德地图---已知两点经纬度坐标求距离和角度
生活随笔
收集整理的這篇文章主要介紹了
高德地图---已知两点经纬度坐标求距离和角度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算兩個坐標點之間的距離
function calcDistance(lonA,latA,lonB,latB) {var earthR = 6371000;var x = Math.cos(latA * Math.PI / 180.) * Math.cos(latB * Math.PI / 180.) * Math.cos((lonA - lonB) * Math.PI / 180);var y = Math.sin(latA * Math.PI / 180.) * Math.sin(latB * Math.PI / 180.);var s = x + y;if (s > 1) s = 1;if (s < -1) s = -1;var alpha = Math.acos(s);var distance = alpha * earthR;return distance; }使用
calcDistance(longitudeA,latitudeA,longitudeB,latitudeB);計算兩個坐標點連線的角度
計算角度前首先要把經緯度坐標轉換成地圖容器坐標
function calcAngle(start,end) {var p_start = map.lngLatToContainer(start),p_end = map.lngLatToContainer(end);var diff_x = p_end.x - p_start.x,diff_y = p_end.y - p_start.y;return 360*Math.atan2(diff_y, diff_x)/(2*Math.PI)+90; }使用
var start = [longitudeA,latitudeA]; var end = [longitudeB,latitudeB];calcAngle(start,end);總結
以上是生活随笔為你收集整理的高德地图---已知两点经纬度坐标求距离和角度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA--tomcat日志乱码
- 下一篇: float型数据与字节数组的转化