Android GPS на Google Map получение / отображение местоположения

1

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

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);

    } 

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

Теги:
google-maps
crash
gps

2 ответа

3
Лучший ответ

Моя первая мысль заключается в том, что ваше местоположение передается как null, которое вы можете проверить.

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

Проверьте эту тему: Местоположение Null Pointer

1

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню