2012-03-19 64 views
0

我做了一个android应用程序。我在笔记本电脑上运行应用程序,并将我定位在一个地方(在大约250公里的错误城镇)。当用另一个api键在我的桌面上运行应用程序时,将我定位在同一个错误的城市。谁能告诉我问题在哪里?谢谢!Gps错误的位置

+1

运行测试时您是否正在以相对速度运动? – abelenky 2012-03-19 21:57:04

回答

1

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

您需要遵循一些步骤:

  1. 一定要在你的Android清单以下权限:

    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位置。为此,只需在模拟器中启动应用程序,在Eclipse IDE中转到DDMS视图,然后查找左侧的选项(如果找不到它们,请重置DDMS透视图)。它应该是这样的:

enter image description here

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

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

+0

thx,我会试试这个并告诉你结果 – eu127 2012-03-19 22:02:48

+0

欢迎您!我只是将答案固定得更清楚,因为富文本编辑器在权限中混淆了XML。祝你好运! – 2012-03-19 22:17:09

+0

同样的结果,错误的位置:( – eu127 2012-03-19 22:32:11

1

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

** **更新

如果您在您的手机上同样的问题太多,那么你的手机GPS很可能关闭,您需要打开或手机使用WiFi得到修复在它的位置。

+0

我在Android设备上导入应用程序并显示相同的错误位置 – eu127 2012-03-19 21:35:45

+0

我打开GPS并且结果相同:( – eu127 2012-03-20 18:28:25

+0

我在仿真器上运行时收到错误消息(应用程序MapsApp(process net.learn2develop。 GoogleMaps)已经意外停止,请再试一次。Force close) – eu127 2012-03-21 08:44:43

0

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

+0

确实,我的手机通过我的wifi网络获取GPS位置。那么,告诉我该怎么办才能修复这个问题? – eu127 2012-03-19 21:50:45

+0

如果我关掉wifi手机和我启动应用程序,它显示我只有一个网格,而不是地图。只有当我通过WiFi连接手机,然后重新启动应用程序出现地图 – eu127 2012-03-19 21:54:18

+0

您应该能够打开您的手机内置的GPS使用设置!只要你的手机有它,我认为所有的Android手机都有 – 2012-03-19 21:59:33