Firebase 데이터베이스 좌표를 onMapReady에 어떻게 전달할 수 있습니까?

Raf A

아래에 표시된대로 Firebase 데이터베이스에 위도와 경도가 저장되어 있습니다 (값이 ""로 묶여 있지 않음).

Latitude: 53.868728
Longitude: -2.941631

이 값을 검색하고 .position ()에 전달하여 내 mapView를 업데이트하려고합니다. 데이터 검색을위한 다른 쿼리가 작동하기 때문에 Firebase 경로가 정확하다는 것을 알고 있습니다. 또한 .position ()에 좌표를 직접 전달하면 올바른 위치가 나타나기 때문에지도 기능이 작동한다는 것도 알고 있습니다. 아래는 앱이 충돌하는 onMapReady 코드이며 logcat에는 유용한 것이 없습니다.

 public void onMapReady(GoogleMap googleMap) {
    mapView = googleMap;

    final Double[] latitude = new Double[1];
    final Double[] longitude = new Double[1];
    coordinatesDatabase = FirebaseDatabase.getInstance().getReference("Timetable/" + schoolID);
    coordinatesDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            latitude[0] = dataSnapshot.child("Latitude").getValue(Double.class);
            longitude[0] = dataSnapshot.child("Longitude").getValue(Double.class);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

    LatLng schoolLocation = new LatLng(latitude[0], longitude[0]);
    mapView.addMarker(new MarkerOptions().position(schoolLocation).title("School"));
        mapView.animateCamera(CameraUpdateFactory.newLatLngZoom(schoolLocation, 15.0f));
}

실행에 대한 빨간색 선은 다음과 같습니다.

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.kitchen, PID: 23731
    java.lang.NullPointerException: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference
        at com.example.kitchen.SchoolProfile.onMapReady(SchoolProfile.java:378)
        at com.google.android.gms.maps.zzak.zza(Unknown Source:2)
        at com.google.android.gms.maps.internal.zzaq.dispatchTransaction(Unknown Source:12)
        at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source:12)
        at android.os.Binder.transact(Binder.java:675)
        at cj.b(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-0):14)
        at com.google.android.gms.maps.internal.bb.a(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-0):4)
        at com.google.maps.api.android.lib6.impl.bi.run(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-0):2)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)  
        at android.app.ActivityThread.main(ActivityThread.java:6981)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
더그 스티븐슨

쿼리 결과를 실제로 사용할 수 있기 전에 사용하려고합니다. 실시간 데이터베이스 쿼리는 비동기식이며 쿼리가 실행 addValueEventListener되기 전에 호출이 즉시 반환됩니다. ,지도를 채우는 데 사용되는 시점에 latitudelongitude이 null 값을 포함 할 것입니다. 값을 처음 사용할 수있는 콜백으로지도를 처리하는 코드를 이동해야합니다.

        coordinatesDatabase.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                latitude[0] = dataSnapshot.child("Latitude").getValue(Double.class);
                longitude[0] = dataSnapshot.child("Longitude").getValue(Double.class);

                // POPULATE THE MAP HERE WITH THE VALUES JUST READ

            }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 Firebase 데이터베이스를 SQL 데이터베이스로 어떻게 변환 할 수 있습니까?

분류에서Dev

React의 부모 클래스에 맵 박스 좌표를 어떻게 전달할 수 있습니까?

분류에서Dev

React Native Navigation에서 데이터를 어떻게 전달할 수 있습니까?

분류에서Dev

이 여러 행 데이터를 mysql 데이터베이스에 어떻게 삽입 할 수 있습니까?

분류에서Dev

datagridview에 표시되는 데이터베이스를 어떻게 필터링 할 수 있습니까?

분류에서Dev

파이썬의 클래스 데코레이터에서 인수를 어떻게 전달할 수 있습니까?

분류에서Dev

Heroku의 Rails 콘솔 내에서 데이터베이스를 어떻게 전환 할 수 있습니까?

분류에서Dev

데이터를 어떻게 전달할 수 있습니까?

분류에서Dev

Unix LDAP 데이터베이스에서 사용할 수있는 루트를 어떻게 볼 수 있습니까?

분류에서Dev

Sinatra 및 Datamapper를 사용하여 양식에서 데이터베이스로 배열을 어떻게 전달할 수 있습니까?

분류에서Dev

Actix Web에 json 스키마를 데이터로 어떻게 전달할 수 있습니까?

분류에서Dev

내 애플리케이션에서 데이터베이스 sqlite를 어떻게 사용할 수 있습니까?

분류에서Dev

데이터베이스 생년월일 필드에서 나이를 어떻게 검색 할 수 있습니까?

분류에서Dev

Django CMS : 설정 창에서 데이터베이스에서 어떻게 표시 할 수 있습니까?

분류에서Dev

PHP에서 데이터베이스 스키마를 어떻게 사용할 수 있습니까?

분류에서Dev

데이터베이스 디자인 : 관계에서 조건을 어떻게 표현할 수 있습니까?

분류에서Dev

타이머 객체를 함수에 어떻게 전달할 수 있습니까?

분류에서Dev

jquery 어떻게 둘 사이에 변수를 전달할 수 있습니까?

분류에서Dev

jquery 어떻게 둘 사이에 변수를 전달할 수 있습니까?

분류에서Dev

MySQL에서 빈 데이터베이스를 어떻게 나열 할 수 있습니까?

분류에서Dev

내 솔루션에 데이터베이스를 어떻게 사용할 수 있습니까?

분류에서Dev

monk를 사용하여 여러 MongoDB 데이터베이스에 어떻게 연결할 수 있습니까?

분류에서Dev

MySql 데이터베이스에 개체를 어떻게 저장할 수 있습니까?

분류에서Dev

AJAX를 사용하여 DropDown을 데이터베이스에 어떻게 저장할 수 있습니까?

분류에서Dev

React Native-네비게이터의 스택 화면에 함수를 어떻게 전달할 수 있습니까?

분류에서Dev

좌표 만 알고있을 때 Tkinter 캔버스에서 개체를 어떻게 이동할 수 있습니까?

분류에서Dev

스프링 배치 파티셔닝 마스터는 데이터베이스를 읽고 데이터를 작업자에게 전달할 수 있습니까?

분류에서Dev

TimeSpan 인수를 스크립트에 어떻게 전달할 수 있습니까?

분류에서Dev

사용자 정의 세트 데이터를 src 이미지 "onClick"에 어떻게 전달할 수 있습니까?

Related 관련 기사

  1. 1

    이 Firebase 데이터베이스를 SQL 데이터베이스로 어떻게 변환 할 수 있습니까?

  2. 2

    React의 부모 클래스에 맵 박스 좌표를 어떻게 전달할 수 있습니까?

  3. 3

    React Native Navigation에서 데이터를 어떻게 전달할 수 있습니까?

  4. 4

    이 여러 행 데이터를 mysql 데이터베이스에 어떻게 삽입 할 수 있습니까?

  5. 5

    datagridview에 표시되는 데이터베이스를 어떻게 필터링 할 수 있습니까?

  6. 6

    파이썬의 클래스 데코레이터에서 인수를 어떻게 전달할 수 있습니까?

  7. 7

    Heroku의 Rails 콘솔 내에서 데이터베이스를 어떻게 전환 할 수 있습니까?

  8. 8

    데이터를 어떻게 전달할 수 있습니까?

  9. 9

    Unix LDAP 데이터베이스에서 사용할 수있는 루트를 어떻게 볼 수 있습니까?

  10. 10

    Sinatra 및 Datamapper를 사용하여 양식에서 데이터베이스로 배열을 어떻게 전달할 수 있습니까?

  11. 11

    Actix Web에 json 스키마를 데이터로 어떻게 전달할 수 있습니까?

  12. 12

    내 애플리케이션에서 데이터베이스 sqlite를 어떻게 사용할 수 있습니까?

  13. 13

    데이터베이스 생년월일 필드에서 나이를 어떻게 검색 할 수 있습니까?

  14. 14

    Django CMS : 설정 창에서 데이터베이스에서 어떻게 표시 할 수 있습니까?

  15. 15

    PHP에서 데이터베이스 스키마를 어떻게 사용할 수 있습니까?

  16. 16

    데이터베이스 디자인 : 관계에서 조건을 어떻게 표현할 수 있습니까?

  17. 17

    타이머 객체를 함수에 어떻게 전달할 수 있습니까?

  18. 18

    jquery 어떻게 둘 사이에 변수를 전달할 수 있습니까?

  19. 19

    jquery 어떻게 둘 사이에 변수를 전달할 수 있습니까?

  20. 20

    MySQL에서 빈 데이터베이스를 어떻게 나열 할 수 있습니까?

  21. 21

    내 솔루션에 데이터베이스를 어떻게 사용할 수 있습니까?

  22. 22

    monk를 사용하여 여러 MongoDB 데이터베이스에 어떻게 연결할 수 있습니까?

  23. 23

    MySql 데이터베이스에 개체를 어떻게 저장할 수 있습니까?

  24. 24

    AJAX를 사용하여 DropDown을 데이터베이스에 어떻게 저장할 수 있습니까?

  25. 25

    React Native-네비게이터의 스택 화면에 함수를 어떻게 전달할 수 있습니까?

  26. 26

    좌표 만 알고있을 때 Tkinter 캔버스에서 개체를 어떻게 이동할 수 있습니까?

  27. 27

    스프링 배치 파티셔닝 마스터는 데이터베이스를 읽고 데이터를 작업자에게 전달할 수 있습니까?

  28. 28

    TimeSpan 인수를 스크립트에 어떻게 전달할 수 있습니까?

  29. 29

    사용자 정의 세트 데이터를 src 이미지 "onClick"에 어떻게 전달할 수 있습니까?

뜨겁다태그

보관