我正在构建一个Android应用程序。我有一个标记和一个圆圈围绕该标记。
当当前位置与圆的半径相交时,将显示警告消息。
我希望能够通过提示信息告诉我,等于标记位置的圆心位于东,西,北或南,取决于当前位置。
非常感谢您对如何实现这一目标的帮助。我希望我的要求是明确的。
非常感谢,
阿卜杜拉
答案 0 :(得分:2)
由于还没有人给出任何答案,我会尝试提出一个建议。
我相信你可以通过将两个点视为欧几里德空间中的二维点来简化问题(假设标记周围的半径不是很大)。
鉴于这两点,我们称之为x={xlat,ylng}
和y={ylat,ylng}
,x为当前位置,y为标记。
现在计算delta_lat和delta_lng。
delta_lat=xlat-ylat
delta_lng=xlng-ylng
使用delta值计算两点之间的角度
angleInDegrees = atan2(delta_lat, delta_lng) * 180 / PI
从How to calculate the angle between a line and the horizontal axis?
找到角度校正现在,确定方向是东,西,北,南都应该是微不足道的。