我已按照this answer实施自定义指南针。但显然它指的是磁北极(我想)。
我花了几个小时尝试数学,但我不是地形学家,我放弃了。
我找到了一些部分指南,他们使用imageView,他们绘制了某种行,但我无法理解如何在我的情况下重新实现。
例如,this post的前两个答案对我来说似乎足够可靠了,但是当我尝试将它们集成到我的代码中时,我无法让它们正常工作。所以我要求作者发布更多代码,但第一个说可能是使用当前Android API获取位置的过时方式,第二个表示该项目已经没有了。
您是否了解获取我的位置并更新它的当前最佳方式?
提前致谢
答案 0 :(得分:0)
使用游戏旋转矢量传感器查看https://developer.android.com/guide/topics/sensors/sensors_position.html。这是一种使用新的" north"那不是磁北。
要获取当前位置,请在清单文件中放置以下任一项:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
or
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
没有权限,应用程序在运行时崩溃。
然后,您应该可以按照Google提供的教程进行操作:http://developer.android.com/training/location/retrieve-current.html#CheckServices
快速解决方案如下:
public class MainActivity extends FragmentActivity implements
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener {
...
// Global variable to hold the current location
Location mCurrentLocation;
...
mCurrentLocation = mLocationClient.getLastLocation();
...
}