Как предотвратить повторение маркеров в clustermanager android? - PullRequest
0 голосов
/ 22 сентября 2018

Я использую библиотеку Geofire для загрузки данных из Firebase 3 в определенной области, но когда я добавляю новый маркер в базу данных и проверяю свою карту, я обнаружил, что несколько маркеров было добавлено в одинаковых координатах широты, мой вопроскак предотвратить повторение маркера в тех же координатах.Вот метод Geofire:

             geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
                @Override
                public void onKeyEntered(String key, GeoLocation location) {

                    try{
                        MyItem myItem = new MyItem(location.latitude, location.longitude);
                        if (!items.contains(myItem)) {
                            items.add(myItem);
                        }
                        Log.d("onKey","called");
                    }catch (ClassCastException e){
                        Log.d("classCastException","");
                    }

                }

                @Override
                public void onKeyExited(String key) {

                }

                @Override
                public void onKeyMoved(String key, GeoLocation location) {

                }

                @Override
                public void onGeoQueryReady() {
                   // countingMarkers = 0;
                    parseJsonToList();
                }

                @Override
                public void onGeoQueryError(DatabaseError error) {

                }
            });

Метод ParseJsonToList:

private void parseJsonToList() {


        itemss = clusterManagerAlgorithm.getItems();
        try {


            items.removeAll(itemss);
        }catch (IndexOutOfBoundsException e){
            Log.d("itemsDoesn't exist"," : ");
        }


        mClusterManager.clearItems();
        mClusterManager.cluster();
        mClusterManager.addItems(items);
        Log.d("items"," : " + items);


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...