【发布时间】:2019-04-08 09:27:08
【问题描述】:
我试图用实时数据库的值来改变谷歌地图中标记的位置
我尝试 mMap.clear 到,但这不是正确的解决方案,因为如果我有 100 个标记并更改 1 个标记的位置,则 100 是清晰的并重新定位以更改 1 个标记
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mMap.clear();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Double lang = ds.child("lang").getValue(Double.class);
Double lat = ds.child("lat").getValue(Double.class);
save = new model(lat, lang);
ll = new LatLng(save.getLat(), save.getLang());
mCurrLocationMarker = mMap.addMarker(options
.position(ll));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我尝试更改标记的位置,但如果我不写 mMap.clear 并清除所有标记,实际结果会添加一个新标记,如果我写 mMap.clear 则添加它们以更改一个标记
【问题讨论】:
-
看看answer here,好像满足你的要求。
-
请检查这个文件:filebin.net/m2vgvcms6g73kef2/TestFragment.java?t=e9g0tdki我已经准备了一个示例代码。请检查一下。谢谢——
标签: java android firebase-realtime-database google-maps-markers