我想要找到两个已知地理位置之间的夹角。基本上,我想要指向一个固定地理位置的箭头,箭尾在我的当前位置,箭头指向该位置。
所以我在想,如果我能够得到这两个地理位置之间的夹角,那么可能我就能做到同样的事情。
你们有什么更好的建议吗?任何帮助都将不胜感激。
我想要找到两个已知地理位置之间的夹角。基本上,我想要指向一个固定地理位置的箭头,箭尾在我的当前位置,箭头指向该位置。
所以我在想,如果我能够得到这两个地理位置之间的夹角,那么可能我就能做到同样的事情。
你们有什么更好的建议吗?任何帮助都将不胜感激。
我希望能够达到同样的效果。使用这个参考来计算角度,如下所示:
private double angleFromCoordinate(double lat1, double long1, double lat2,
double long2) {
double dLon = (long2 - long1);
double y = Math.sin(dLon) * Math.cos(lat2);
double x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1)
* Math.cos(lat2) * Math.cos(dLon);
double brng = Math.atan2(y, x);
brng = Math.toDegrees(brng);
brng = (brng + 360) % 360;
brng = 360 - brng;
return brng;
}
然后将ImageView旋转到这个角度
private void rotateImage(ImageView imageView, double angle) {
Matrix matrix = new Matrix();
imageView.setScaleType(ScaleType.MATRIX); // required
matrix.postRotate((float) angle, imageView.getDrawable().getBounds()
.width() / 2, imageView.getDrawable().getBounds().height() / 2);
imageView.setImageMatrix(matrix);
}
我不确定我理解你想做什么,但是请检查这个: Android参考文献,位置,distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
结果参数应该是浮点数数组-至少有2个元素。然后在results [0]中,您将找到距离,在results 1中找到这两个点之间的方位角。重要的是,“距离和方位角使用WGS84椭球体定义。”