Gps位置错误

时间:2012-03-19 21:30:10

标签: android gps location

我制作了一个Android应用程序。我在笔记本电脑上运行应用程序,并将我定位在一个地方(在一个错误的城镇约250公里)。使用另一个api密钥在我的桌面上运行应用程序时,我位于同一个错误的城市。谁能告诉我问题出在哪里?谢谢!

3 个答案:

答案 0 :(得分:1)

当您在没有GPS的桌面模拟器上运行移动应用程序时,每次都会获得一些固定位置。要获得真正的GPS坐标,您需要将其安装在Android设备中并进行测试。

**更新**

如果您在手机上遇到同样的问题,那么您的手机GPS可能已关闭,您需要打开它,或者手机正在使用Wifi来修复其位置。

答案 1 :(得分:1)

根据我的经验,Android不会因为您的Wi-Fi将其继承到模拟器而获取位置。

您需要执行以下步骤:

  1. 请务必在Android Manifest中拥有以下权限:

    android.permission.INTERNET对

    android.permission.ACCESS_NETWORK_STATE

    android.permission.ACCESS_COARSE_LOCATION

    android.permission.ACCESS_FINE_LOCATION

    android.permission.ACCESS_LOCATION_EXTRA_COMMANDS

    android.permission.ACCESS_MOCK_LOCATION

    android.permission.CHANGE_WIFI_STATE

    android.permission.ACCESS_WIFI_STATE

  2. 请务必在应用程序代码中添加地图库:

    <application android:icon="@drawable/ic_launcher" >
            <uses-library android:name="com.google.android.maps" />
    </application>
    
  3. 请务必在/layout/map.xml文件中的MapView中使用有效的Maps API密钥。

  4. 由于您未在实际设备上运行应用程序,因此向您的应用程序发送不同位置的唯一方法是推送MOCK LOCATION。为此,只需在模拟器中启动应用程序,转到Eclipse IDE中的DDMS透视图,然后查找左侧的选项(如果找不到,则重置DDMS透视图)。它应该是这样的:

  5. enter image description here

    在“设备”选项卡下选择模拟器名称,然后您可以使用“位置控制”发送纬度和经度坐标。

    完成开发和测试后,请务必删除ACCESS_MOCK_LOCATION权限并使用GPS,aGPS芯片或移动电话/无线网络在实际手机或平板电脑上测试位置检测。

答案 2 :(得分:0)

只是想一想,手机是通过家庭wifi网络获取GPS位置而不是手机的GPS吗?可能会解释为什么他们都给出了同样错误的价值。