Android自定义指南针指向自定义位置

时间:2014-03-19 09:35:56

标签: android gps location android-location

我已按照this answer实施自定义指南针。但显然它指的是磁北极(我想)。

我花了几个小时尝试数学,但我不是地形学家,我放弃了。

我找到了一些部分指南,他们使用imageView,他们绘制了某种行,但我无法理解如何在我的情况下重新实现。

例如,this post的前两个答案对我来说似乎足够可靠了,但是当我尝试将它们集成到我的代码中时,我无法让它们正常工作。所以我要求作者发布更多代码,但第一个说可能是使用当前Android API获取位置的过时方式,第二个表示该项目已经没有了。

您是否了解获取我的位置并更新它的当前最佳方式?

提前致谢

1 个答案:

答案 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();
    ...
}