高德地图计算两点间的角度、当前坐标

更新于 2017-05-28  约 2 分钟

1、计算角度前首先要把经纬度坐标转换成地图容器坐标

// 计算两点间的角度
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;
}

调用

calcAngle([88.926756, 42.37309], [119.687036, 29.6309]);

方法是固定的,可以延伸到其他地图上用。。。

2、根据百分比计算当前坐标

var lastCoord = [2, 10],
    dstCoord = [10, 30],
    percent = 0.5,
    curCoord;
    
if(percent == 0.5) {
    curCoord = [(10+2)/2, (30+10)/2];
} else {
    curCoord = [(10-2)*percent+2, (30-10)*percent+10];
} 
阅读 5k更新于 2017-05-28

推荐阅读
前端开发
用户专栏

天空还下着雪

11 人关注
42 篇文章
专栏主页
目录