谷歌地图没有从数据库中提取我的标记
Posted
技术标签:
【中文标题】谷歌地图没有从数据库中提取我的标记【英文标题】:Google Maps not bringing my markers from database 【发布时间】:2019-01-12 05:48:06 【问题描述】:我正在尝试从我的数据库中获取所有标记,我以这种方式存储它们
现在,我创建了两个标记数组列表,一个用于添加所有这些标记,然后将其传递给另一个以删除它们(我正在尝试实时刷新标记,因为它们在地图中显示)。
但是我已经尝试过这个来显示标记,它似乎只显示了第一个,但没有遍历所有的孩子。这是我尝试过的:
@Override
public void onMapReady(final GoogleMap googleMap)
mMap = googleMap;
mDatabase.child("usuarios").addListenerForSingleValueEvent(new ValueEventListener()
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
for (Marker marker : realTimeMarkers)
marker.remove();
for(DataSnapshot snapshot : dataSnapshot.getChildren())
MapsPojo mp = snapshot.getValue(MapsPojo.class);
Double latitud = mp.getLatitud();
Double longitud = mp.getLongitud();
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(latitud,longitud));
markerOptions.snippet("ID: "+snapshot.getKey());
tmpRealTimeMarkers.add(mMap.addMarker(markerOptions));
realTimeMarkers.clear();
realTimeMarkers.addAll(tmpRealTimeMarkers);
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
);
realTimeMarkers 和 tmpRealTimeMarkers:
private ArrayList<Marker> tmpRealTimeMarkers = new ArrayList<Marker>();
private ArrayList<Marker> realTimeMarkers = new ArrayList<Marker>();
另外提示不存在,我运行调试器,它似乎没有进入我的foreach
以获取所有纬度和经度。
【问题讨论】:
使用addValueEventListener(new ValueEventListener()
而不是addListenerForSingleValueEvent(new ValueEventListener()
还是那个彼得
我做了一个日志,我认为它只检索到一个值 -31.3703015Long-64.3575491
@Gastón:请在发布之前通过英文拼写检查器检查您的问题。特别是,“I am”的缩写是“I'm”,带有撇号。对您自己(“我”)的引用始终是大写字母。如果您能为您的读者做到这一点,那么帮助您的人以及未来的读者将更容易阅读您的问题。
感谢您的建议,以后会做的
【参考方案1】:
(代表问题作者发布).
错误已解决!我在数据库中放置了相同的标记,它们被堆叠起来了。
【讨论】:
以上是关于谷歌地图没有从数据库中提取我的标记的主要内容,如果未能解决你的问题,请参考以下文章