Android GPS на Google Map получение / отображение местоположения - PullRequest
1 голос
/ 26 марта 2011

Возникли проблемы с моим приложением, которое находит местоположение пользователя и отображает его на экране. Приложение просто вылетает как на эмуляторе, так и на моем телефоне во время отладки.

logcat дает мне это:

03-26 15:41:37.958: ERROR/AndroidRuntime(871): Uncaught handler: thread main exiting due to uncaught exception
03-26 15:41:37.988: ERROR/AndroidRuntime(871): java.lang.NullPointerException
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at com.finalyear.fitnessapp.fitnessMapActivity$GeoUpdateHandler.onLocationChanged(fitnessMapActivity.java:62)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:179)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:112)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:128)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.os.Looper.loop(Looper.java:123)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at android.app.ActivityThread.main(ActivityThread.java:4603)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at java.lang.reflect.Method.invokeNative(Native Method)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at java.lang.reflect.Method.invoke(Method.java:521)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-26 15:41:37.988: ERROR/AndroidRuntime(871):     at dalvik.system.NativeStart.main(Native Method)
03-26 15:41:40.018: ERROR/ActivityManager(87): fail to set top app changed!
03-26 15:41:51.238: ERROR/MapActivity(933): Couldn't get connection factory client

Мой код:

public class GeoUpdateHandler implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
        int lat = (int) (location.getLatitude() * 1E6);
        int lng = (int) (location.getLongitude() * 1E6);
        GeoPoint point = new GeoPoint(lat, lng);
        mapController.animateTo(point);
        mapController.setCenter(point);

    } 

Любая помощь была бы замечательно застрять в этом на несколько недель.

Ответы [ 2 ]

3 голосов
/ 26 марта 2011

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

Почему это происходит?Вы установили запрос местоположения в своем манифесте?

Проверьте эту тему: Location Null Pointer

1 голос
/ 26 марта 2011

Вам потребуется установить разрешение на использование местоположения GPS в файле манифеста, например, если у вас его еще нет.

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

Кроме того, если у вас есть шанс получить исключение NullPointerExceptionкак указано выше, вы всегда должны проверять, что вы передаете для нулей.В этом случае вам следует проверить местоположение, так как местоположение может быть нулевым, если вы пытаетесь получить координаты GPS и не имеете разрешения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...