Android群集标记仅显示一个标记

时间:2014-11-27 01:54:17

标签: android google-maps cluster-computing google-maps-api-2 markerclusterer

我正在尝试实现适合所有标记点的ClusterMarker,这些标记点来自数据库,我制作了一个标记数组,但是当我运行应用程序时,它只让我放大一个标记,我在这里错过了什么?

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.maps);

        try {

            Bundle parametros = getIntent().getExtras();
            rm_IdViagem = parametros.getString("id_viagem");

            Repositorio ca = new Repositorio(this);
            mViagemModel = ca.getViagemPorId(Integer.valueOf(rm_IdViagem));

            Repositorio cl = new Repositorio(this);
            mClienteModel = cl.getClientesViagem(Integer.valueOf(rm_IdViagem));




                Repositorio mRepositorio = new Repositorio(this);
                mEnderecoModel = mRepositorio.getListaEnderecosDoCliente(Integer.valueOf(mClienteModel.get(i).getClientes_id()));

                for (int j = 0; j < mEnderecoModel.size(); j++) {
                // Loading map
                initilizeMap();
                // Changing map type
                googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
                // googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
                // googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
                // googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
                // googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);

                // Showing / hiding your current location
                googleMap.setMyLocationEnabled(true);

                // Enable / Disable zooming controls
                googleMap.getUiSettings().setZoomControlsEnabled(true);

                // Enable / Disable my location button
                googleMap.getUiSettings().setMyLocationButtonEnabled(true);

                // Enable / Disable Compass icon
                googleMap.getUiSettings().setCompassEnabled(true);

                // Enable / Disable Rotate gesture
                googleMap.getUiSettings().setRotateGesturesEnabled(true);

                // Enable / Disable zooming functionality
                googleMap.getUiSettings().setZoomGesturesEnabled(true);


                float latitude = Float.parseFloat(mEnderecoModel.get(j).getLatitude());
                float longitude = Float.parseFloat(mEnderecoModel.get(j).getLongitude());

                    ArrayList<LatLng> coordList = new ArrayList<LatLng>();

                    coordList.add(new LatLng(latitude, longitude));






                googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 10));

                // Initialize the manager with the context and the map.
                // (Activity extends context, so we can pass 'this' in the constructor.)
                mClusterManager = new ClusterManager<MyItem>(this, googleMap);

                // Point the map's listeners at the listeners implemented by the cluster
                // manager.
                googleMap.setOnCameraChangeListener(mClusterManager);
                googleMap.setOnMarkerClickListener(mClusterManager);



                addItems(coordList);




                }





        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void addItems(List<LatLng> markers) {

        for (int i = 0; i < markers.size(); i++) {
            MyItem offsetItem = new MyItem(markers.get(i));
            mClusterManager.addItem(offsetItem);
        }
    }

0 个答案:

没有答案