根据公司需求需要我做一个地图上显示目标位置的方位角角度 , 然后牵扯到一些数学的算法在笔记本上涂涂画画 , 想到了一个实现的思路.
跟据这个图可以理解为这个正方形为我们软件的地图画面 ,中间圆点为我们自身所在坐标 , 其它圆点为目标可能所在区域的坐标,其实也很简单通过这个图我们知道一点就是我们可以把自身点向外扩散形成个圆, 我们只需要求圆的角度就OK了.
下面我拿代码给你们讲解一下:
我们先从以X轴为正方向的讲解:
public double Amizuth(double dProjX0, double dProjY0, double dProjX1, double dProjY1) {
// 上面这四个参数分别表达的为 , 目标的坐标值与自己的坐标值,也就是经纬度
double _PI = 3.141592653589793D;
PointF prjPointF1 = this.projection.GeoToPrj(new PointF((float)dProjX0, (float)dProjY0));
PointF prjPointF2 = this.projection.GeoToPrj(new PointF((float)dProjX1, (float)dProjY1));
//上面这两个是我自己封装转换数值的方法;
double dAmizuth = 0.0D; //先设一个变量为0.0 double值
//然后进行判断如果自身x