如何使用polyline中的坐标存储从Firebase中绘制Firebase?我需要从Firebase获取多个坐标并将其插入ArrayList,然后绘制直线折线。

最佳答案

要使用Firebase数据库中的坐标绘制折线,请使用以下代码行:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("Users").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        PolylineOptions polylineOptions = new PolylineOptions();
        polylineOptions.color(Color.RED);
        polylineOptions.width(3);
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            double latitude = ds.child("latitude").getValue(Double.class);
            double longitude = ds.child("longitude").getValue(Double.class);
            polylineOptions.add(new LatLng(latitude, longitude));
        }
        Polyline polyline = mMap.addPolyline(polylineOptions);
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
uidRef.addListenerForSingleValueEvent(valueEventListener);

08-06 11:28