2

我相信我所做的一切都是正确的,因为我的应用程序曾经工作过。然后突然停止工作。我无法从Google Map对象获取当前位置,它始终返回null。Google Maps API v2用于在Android上工作,现在getMyLocation返回始终为空

  • 我检查,如果API控制台上我的API密钥的作品,要求可以看出,所以我觉得它的工作原理
  • 我试图卸载应用程序,然后重新安装,它并没有帮助
  • 我试图创建一个新钥匙,但这并没有帮助。

我没有发布我的代码,因为我认为它是正确的,否则它不会在一开始就工作。 ​

logcat的-错误

09-05 19:28:30.222: E/dalvikvm(5179): Could not find class 'gpq', referenced from method gpr.a 
09-05 19:28:30.222: E/dalvikvm(5179): Could not find class 'gpq', referenced from method gpr.a 
09-05 19:28:30.222: E/dalvikvm(5179): Could not find class 'gpq', referenced from method gpr.a 
09-05 19:28:30.342: E/dalvikvm(5179): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method gls.a 

的logcat:http://pastebin.com/RPJLr6F2

编辑:我发现了问题的因由是我的设备(Nexus 5的,奇巧4.4.4),一切正常在另一个设备上(果冻豆4.1)

+0

您的位置不是由地图给出,而是由您的设备的GPS或互联网给出。 – Nabin 2014-09-05 15:57:06

+1

@Nabin但我的位置可以通过地图检索,这就是我正在尝试的。 – harunurhan 2014-09-05 16:09:17

+0

请张贴您的logcat – Nabin 2014-09-05 16:13:01

回答

2

看看你的logcat很明显你的应用程序使用了大量的内存。 getMyLocation()已折旧,因此请使用位置客户端。 从getMyLocation()的文档:

如果没有位置数据可用返回当前显示的用户的位置,或者为null。

Null是由getMyLocation返回的有效数据,因此您需要处理它。只要检查返回的值是否为空。

+0

谢谢,但正如我说我的问题,我发现它不工作,因为我的设备,它在另一个Android设备上工作。我之前已经尝试过使用LocationClient,它对两者都起作用。我只是好奇,为什么这种方法不适用于我的设备。我会尝试启用大堆,看看它是否解决了内存问题。谢谢。 – harunurhan 2014-09-06 12:10:31

+0

我在验证此答案,因为LocationClient始终有效,下面是有关如何使用位置客户端的详细答案: http://stackoverflow.com/questions/17868534/distancetomap-getmyloctation-returns-null – harunurhan 2014-09-08 07:05:41

相关问题