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下。 我相信這不起作用,因爲座標值是在另一個孩子的下面,但我不確定。可以使用幫助,感謝

回答

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

做這樣的事情,它正在般的魅力對我來說,我有一個名爲設備名稱火力節點,有兩個孩子緯度和經度 –

相關問題