我想要什么:
我正在使用方向传感器来获取方位角值(角度)。我也从用户出发,画了一个圆。现在,我要考虑到一步等于30个像素,在用户前往的位置绘制下一个像素。
当用户开始行走时,我想在屏幕上插入的平面图图像上绘制用户当前位置的圆圈。由于某些原因,我无法将GPS用于此解决方案。
这是我正在执行的步骤:
- 从方向传感器获取当前用户方向的角度。
- 用户将触摸屏幕以在图像上绘制起点。
- 当用户开始行走时,它将在图像上相对于用户的真实世界方向绘制点,就像我在上图中显示的那样。仅在给定起点(pixelX,pixelY)和用户的起始角度以及他刚面对的当前角度的情况下,我怎么能确定地做到这一点。
到目前为止,我们已取得的成就: 只需在当前像素上添加或减去像素,就可以在4个角度(即0、90、180和270)上绘制直线。
newAzimuth是用户方向的当前角度
if (newAzimuth >= 45 && newAzimuth <= 135) {
startX = startX + onestepPixelsWidth;
mScreenRotationTextView.setText("You turned (Right)");
} else if (newAzimuth > 135 && newAzimuth <= 225) {
mScreenRotationTextVniew.setText("You turned (Back)");
startY = startY + onestepPixelsHeight;
} else if (newAzimuth > 225 && newAzimuth <= 315) {
mScreenRotationTextView.setText("You turned (Left)");
startX = startX - onestepPixelsWidth;
} else if (newAzimuth > 315 || newAzimuth < 45) {
mScreenRotationTextView.setText("You turned (Front)");
startY = startY - onestepPixelsHeight;
}