【问题标题】: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”,带有撇号。对您自己(“我”)的引用始终是大写字母。如果您能为您的读者做到这一点,那么帮助您的人以及未来的读者将更容易阅读您的问题。
  • 感谢您的建议,以后会做的

标签: android google-maps firebase firebase-realtime-database


【解决方案1】:

(代表问题作者发布).

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 2018-04-13
    • 2012-06-06
    • 2016-09-07
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    相关资源
    最近更新 更多