谷歌地图没有从数据库中提取我的标记

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】:

(代表问题作者发布).

错误已解决!我在数据库中放置了相同的标记,它们被堆叠起来了。

【讨论】:

以上是关于谷歌地图没有从数据库中提取我的标记的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图如何在自定义地点显示我的位置标记?

创建没有谷歌地图参考的标记(谷歌地图标记)对象

将谷歌地图放在数据库的中心?

谷歌地图标记不通过ajax动态显示

我的搜索没有在谷歌地图中显示他们的标记有啥问题?

无法在谷歌地图android上动态设置多个标记