Как получить текущие значения широты и долготы в кодовом имени one

Я пытаюсь получить свои текущие значения широты и долготы, используя LocationManager в Codename One, но значения, которые я получаю, относятся к другому местоположению. Вот мой код:

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,00497299999999

Мои правильные текущие значения широты и долготы — 3.xxxx и 101.xxxx соответственно.

Пожалуйста, как я могу получить эти правильные значения от LocationManager?


person Yahya-Imam Munir    schedule 09.12.2015    source источник
comment
Спасибо большое Алмаз. я очень благодарен   -  person Yahya-Imam Munir    schedule 10.12.2015


Ответы (1)


Это расположение по умолчанию в симуляторе.

Обратите внимание, что вы не можете получить свое фактическое местоположение в симуляторе, не введя его самостоятельно.

Чтобы настроить симулятор на использование вашего текущего местоположения, нажмите Симуляция в симуляторе и выберите Моделирование местоположения. Введите значения LatLong в поле Доступно и нажмите «Обновить». Карта Google изменит представление о вашем местоположении, как и ваше приложение.

Вы можете оставить Симулятор местоположения открытым, пока тестируете свое приложение.

Кстати, если вашему приложению требуется местоположение в реальном времени, я бы посоветовал вам использовать 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);
person Diamond    schedule 10.12.2015