Codenameone 如何在codename one中获取当前纬度和经度值

Codenameone 如何在codename one中获取当前纬度和经度值,codenameone,Codenameone,我正在尝试使用代号为One的LocationManager获取我当前的纬度和经度值,但我获取的值是针对不同的位置的。 这是我的密码: LocationManager locationManager = LocationManager.getLocationManager(); Location location = locationManager.getCurrentLocation(); Double loc1= location.getLatitude(); Double loc2= loc

我正在尝试使用代号为One的LocationManager获取我当前的纬度和经度值,但我获取的值是针对不同的位置的。 这是我的密码:

LocationManager locationManager = LocationManager.getLocationManager();
Location location = locationManager.getCurrentLocation();
Double loc1= location.getLatitude();
Double loc2= location.getLongitude();
System.out.println("Latitude: "+loc1);
System.out.println("Longitude: "+loc2);
输出:

纬度:40.715353 经度:-74.004972999999

我当前正确的纬度和经度值分别为3.xxxx和101.xxxx


请问如何从LocationManager获取这些正确的值?

这是模拟器上的默认位置

请注意,如果您不亲自输入,就无法在模拟器上获得您的实际位置

要将模拟器设置为使用当前位置,请在模拟器上单击模拟,然后选择位置模拟。输入可用的最近值,然后单击更新。谷歌地图会将视图转移到你的位置,你的应用程序也会如此

您可以在测试应用程序时保持位置模拟器处于打开状态

另外,如果您的应用程序需要实时位置,我建议您使用getCurrentLocationAsync()。以下是一个例子:

InfiniteProgress ip = new InfiniteProgress();
Dialog ipDlg = ip.showInifiniteBlocking();
Location location = LocationManager.getLocationManager().getCurrentLocationSync(30000);
ipDlg.dispose();
if (location == null) {
    try {
        location = LocationManager.getLocationManager().getCurrentLocation();
    } catch (IOException err) {
        Dialog.show("Location Error", "Unable to find your current location, please be sure that your GPS is turned on", "OK", null);
        return;
    }
}
Double loc1 = location.getLatitude();
Double loc2 = location.getLongitude();
Log.p("Latitude: " + loc1);
Log.p("Longitude: " + loc2);

非常感谢你,戴蒙德。我很了不起