我试图在Android模拟器上使用googleMaps(api23 android 6.0)
当我试图在某处找到方向时,GoogleMaps似乎无法工作......它只是说"等待位置"。我想知道:甚至可以通过Android模拟器获取myLocation吗?我已经阅读了很多,我开始思考"没有"。我开始考虑给myLocation一些"假的"协调并开发我的应用程序的其余部分。有什么想法吗?
答案 0 :(得分:0)
前段时间我遇到了类似的问题。我的快速解决方法是在模拟器中安装一个名为“假GPS定位”的应用程序。像魅力一样工作,我可以通过将它指向地图来设置我需要的任何位置。
答案 1 :(得分:0)
基于此thread,您还可以通过Telnet连接到模拟器。然后,您有一个模拟器控制台,可以输入某些数据,如地理修复,网络等。
广泛解释了如何使用控制台 here。 要连接到控制台,请打开命令行并键入
telnet localhost 5554
然后,您可以使用geo命令设置纬度,经度和if 设备上所需的高度,使用的传递给所有程序 gps位置提供商。有关详细说明,请参阅上面的链接。
在控制台中运行的特定命令是
geo fix <longitude value> <latitude value>
根据文档,getLastKnownLocation
方法可以返回null。在这种情况下,您应该等待位置更新(您可以从LocationManager用户requestLocationUpdates方法)。您可以通过以下命令在模拟器的gps模块上触发位置更新:adb -e emu geo fix 50 50
。
您还应该使用LocationManager.GPS_PROVIDER
。当提供程序设置为NETWORK_PROVIDER时,仿真器可能似乎不响应通过DDMS发送的位置更改,但是当它设置为GPS_PROVIDER时,它可能不响应。请检查此link。