1

私はFirebaseデータベースから座標を取得しようとしており、Googleマップでマーカーをプロットしています。Firebaseデータベースから複数のマーカーをGoogleマップにプロットするにはどうすればよいですか?

mDatabase= FirebaseDatabase.getInstance().getReference().child("Markers"); 
mDatabase.addListenerForSingleValueEvent(new ValueEventListener(){ 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 


      String alatLng= (String) dataSnapshot.child("coordinates").getValue(); 


      String[] blatLng = alatLng.split(","); 

      double blatitude = Double.parseDouble(blatLng[0]); 
      double blongitude = Double.parseDouble(blatLng[1]); 

      LatLng clatLng = new LatLng(
        blatitude, 
        blongitude 
      ); 




      mMap.addMarker(new MarkerOptions() 
        .position(clatLng) 
        .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker7))); 

     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

私のデータベースは次のようになります:

Markers 
-UID 
    coordinates: ("55,55") 
-UID2 
    coordinates:("66,66") 

私の座標値は、各ユーザのUIDである

これは、Googleマップで私の現在のコードがあります。 私は座標値が別の子供の下にあるので動かないと思いますが、わかりません。

答えて

0
Lat = (String) dataSnapshot.child("Latitude").getValue().toString(); 
longi = (String) dataSnapshot.child("Longitude").getValue().toString(); 
Toast.makeText(getApplicationContext(), Lat + longi, Toast.LENGTH_SHORT).show(); 
m2= mMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(Lat),Double.parseDouble(longi))).title("My Location")); 
mMap.setMaxZoomPreference(20); 
LatLng latLng = new LatLng(Double.parseDouble(Lat), Double.parseDouble(longi)); 
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 
+0

このようなことをすると、私にとって魅力的なように働いています。デバイス名に名前が付けられたノードがあり、2つの子供の緯度と経度があります –

関連する問題