【发布时间】:2019-09-13 06:51:00
【问题描述】:
我正在尝试使用 google maps api 在我的应用程序中制作一个标记,并且我从我的 RLTB Firebase 获得了位置。位置总是在变化,这就是我使用 ValueEventListener 的原因。
我尝试在 ValueEvent 之外设置标记,但无法正常工作。
getDataNewLoc = FirebaseDatabase.getInstance().getReference().child("Location").child(id_diriku);
getDataNewLoc.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Double new_lat = (Double) dataSnapshot.child("l").child("0").getValue();
Double new_long = (Double) dataSnapshot.child("l").child("1").getValue();
LatLng diriku = new LatLng(new_lat, new_long);
mDiriku = mMap.addMarker(new MarkerOptions()
.title("Diriku")
.position(diriku)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_forme))
);
mDiriku.setTag(0);
mMap.animateCamera( CameraUpdateFactory.newLatLngZoom(diriku, 19.0f ) );
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
我怎样才能防止这种事情发生?
【问题讨论】:
标签: android firebase google-maps firebase-realtime-database geofire