Стартовая позиция OSMdroid по умолчанию, когда нет GPS

Я делаю приложение, которое использует карту OSMdroid. Я хочу, чтобы центр карты находился там, где находится пользователь. Это пока работает при включенном GPS, но я также хочу заверить центр по умолчанию на случай, если GPS не работает/выключается. Я проверил свой код, отключив GPS на своем устройстве. Это код, который я пробовал сам, но центр карты помещается в середину океана, если GPS выключен.

    myLocationoverlay = new MyLocationOverlay(this, osmv);
    myLocationoverlay.enableMyLocation(); 
    myLocationoverlay.disableCompass();
    myLocationoverlay.enableFollowLocation();
    myLocationoverlay.setDrawAccuracyEnabled(true);
    myLocationoverlay.runOnFirstFix(new Runnable() {
    public void run() {
    if (myLocationoverlay.getMyLocation() != null){ 
            // go to MyLocation
            osmv.getController().animateTo(myLocationoverlay
                    .getMyLocation());
        }
        else {
        }
        //go to NYcenter
        osmv.getController().animateTo(new GeoPoint(40714200, 74006400));   


        }

Как правильно установить начальное местоположение по умолчанию?


person birgit    schedule 31.10.2012    source источник
comment
как насчет osmv.getController().setCenter(new GeoPoint(40714200, 74006400));   -  person Pete    schedule 01.11.2012
comment
Я попробовал это первым, но также попал в океан, а не в Нью-Йорк.   -  person birgit    schedule 01.11.2012


Ответы (1)


Код кажется правильным, но ваши координаты неверны. Попробуйте заменить osmv.getController().animateTo(new GeoPoint(40714200, 74006400)); на osmv.getController().animateTo(new GeoPoint(40714200, -74006400));

person Pete    schedule 31.10.2012