群集标记未在Android中清除

时间:2015-07-14 08:25:20

标签: android google-maps cluster-computing

我在我的应用程序中使用了集群概念,我可以成功获得集群但是当标记数组刷新时问题没有得到更新,现在基于我刷新地图的里程

检查下面的代码:

if (map != null) {

            map.moveCamera(CameraUpdateFactory.newLatLngZoom(
                    new LatLng(Double.parseDouble(list.get(0).getLatitude()),
                            Double.parseDouble(list.get(0).getLangtitude())),
                    map.getCameraPosition().zoom));

            mClusterManager = new ClusterManager<MyItem>(getActivity(), map);

            map.setOnCameraChangeListener(mClusterManager);
            map.setOnMarkerClickListener(mClusterManager);

        }
        mClusterManager.clearItems();
        for (int i = 0; i < list.size(); i++) {

            String title = list.get(i).getName() + "~" + list.get(i).getCity()
                    + "~" + list.get(i).getSector();

            MyItem offsetItem = new MyItem(Double.parseDouble(list.get(i)
                    .getLatitude()), Double.parseDouble(list.get(i)
                    .getLangtitude()), title, list.get(i).getSector(),
                    String.valueOf(i));

            mClusterManager.addItem(offsetItem);
        }
        mClusterManager.cluster();

不是为每个茶点添加更新标记,mClusterManager.clearItems();它不起作用,不知道我做了什么错,请弄清楚 在此先感谢

2 个答案:

答案 0 :(得分:2)

如果要清除所有标记,请使用clear()

如果要删除单个标记,请使用remove()方法获取其引用。

答案 1 :(得分:0)

我遇到了同样的问题,我用这个问题解决了他们:

  mClusterManager.clearItems();
    mClusterManager.cluster();

//fill with data

       new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    mClusterManager.cluster();
                }
            }, 100);