我想在Android模拟器中获得经度和纬度进行测试。

有谁能指导我如何实现这个目标吗?

如何将模拟器的位置设置为测试位置?


当前回答

如果上述解决方案不奏效。试试这个:

在你的android manifest .xml中,在应用程序标记之外添加以下两个链接,当然是在你的manifest标记中

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>

其他回答

假设你已经设置并运行了mapview:

MapView mapView = (MapView) findViewById(R.id.mapview);
final MyLocationOverlay myLocation = new MyLocationOverlay(this, mapView);

mapView.getOverlays().add(myLocation);
myLocation.enableMyLocation();

myLocation.runOnFirstFix(new Runnable() {
    public void run() {
        GeoPoint pt = myLocation.getMyLocation();
    }
});

您需要在清单中获得以下许可:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

要从Eclipse向模拟器发送模拟坐标,请转到“窗口”菜单,选择“显示视图”>“其他”>“模拟器控件”,您可以从出现的模拟器控制窗格中发送坐标。

您可以通过Telnet连接到模拟器。然后你有一个模拟器控制台,允许你输入特定的数据,如地理定位,网络等。

如何使用控制台在这里有详细的解释。 要连接到控制台,打开命令行并键入

telnet localhost 5554

然后,您可以使用geo命令在设备上设置纬度、经度以及(如果需要的话)海拔高度,该设备将通过gps位置提供程序传递给所有程序。请参阅上面的链接以获得进一步的说明。

要在控制台中运行的特定命令为

geo fix <longitude value> <latitude value>

我发现这个网站对于找到一个现实的纬度/lng很有用:http://itouchmap.com/latlong.html

如果您需要多个坐标,您也可以使用带有路由的kml文件,本文对此进行了一些描述。我现在找不到更好的消息来源了。

把阿尔贝托·高纳的回答写在一行里

token=$(cat ~/.emulator_console_auth_token); cat <(echo -e "auth $token \n  geo fix 96.0290791 16.9041016  \n exit") - | nc localhost 5554

5554是adb设备中显示的模拟器端口号。

如果亚行的emu能够发挥作用,情况会更好。

Dalvik Debug Monitor >选择模拟器>模拟器控制选项卡>位置控制。

DDMS——android_sdk/tools/ DDMS或android_sdk/tools/monitor

1. Android Studio用户。

运行模拟器后进入Tools->Android->Android设备监视器

从位置控件组中单击“模拟器控件”选项卡更改。

2. Eclipse用户。

首先在Eclipse菜单中选择“窗口”,然后选择“打开透视图”,然后选择“DDMS”。 即窗口->打开透视->DDMS。

你会看到左边设备面板和右边你会看到不同的选项卡。 选择“模拟器控制”选项卡。

在底部你会看到位置控制面板。 选择“手动”选项卡。

在文本框中输入经度和纬度,然后单击发送按钮。 它会将位置发送给模拟器和应用程序。

3.使用telnet。

在run命令中键入this。

telnet localhost 5554

如果您不使用windows,您可以使用任何telnet客户端。

连接到telnet后,使用以下命令将您的位置发送到模拟器。

geo fix long lat    
geo fix -121.45356 46.51119 4392

4. 使用基于浏览器的谷歌地图工具

有一个程序使用GWT和谷歌Maps API来启动一个基于浏览器的地图工具来设置模拟器中的GPS位置:

android-gps-emulator