java – 如何在Android谷歌地图上更改群集的颜色?

目前我正在尝试更改群集图标的颜色(认为蓝色),但我似乎无法弄明白.我已经设置了我的集群管理器等,我可以看到图标本身,但它是蓝色的.我目前正在使用认的Google设置(请参阅下面的代码)来设置我的地图.任何帮助,将不胜感激

谢谢,

雅各

public class MainActivity extends Activity {
    GoogleMap map;
    ClusterManager mClusterManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MapFragment mapFragment = (MapFragment) getFragmentManager()
                .findFragmentById(R.id.map);
        map = mapFragment.getMap();
        setUpClusterer();
    }
    private void setUpClusterer() {
        // Declare a variable for the cluster manager.


        // Position the map.
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186,-0.126446),10));

        // Initialize the manager with the context and the map.
        // (Activity extends context,so we can pass 'this' in the constructor.)
        mClusterManager = new ClusterManageretonCamerachangelistener(mClusterManager);
        map.setonMarkerClickListener(mClusterManager);

        // Add cluster items (markers) to the cluster manager.
        addItems();
    }

    private void addItems() {

        // Set some lat/lng coordinates to start with.
        double lat = 51.5145160;
        double lng = -0.1270060;

        // Add ten cluster items in close proximity,for purposes of this example.
        for (int i = 0; i < 2; i++) {
            double offset = i / 60d;
            lat = lat + offset;
            lng = lng + offset;
            MyItem offsetItem = new MyItem(lat,lng);
            mClusterManager.addItem(offsetItem);
        }
    }
}


class MyItem implements ClusterItem {
    private final LatLng mPosition;

    public MyItem(double lat,double lng) {
        mPosition = new LatLng(lat,lng);
    }

    @Override
    public LatLng getPosition() {
        return mPosition;
    }
}
最佳答案
正如Verma在评论中指出的那样,可以为您的集群实现完全可自定义的图标.如果您只想更改认图标中的背景颜色,则此代码将执行此操作.

无论哪种方式,您都需要为ClusterManager设置渲染器:

mClusterManager.setRenderer(new CustomClusterRenderer(MainActivity.this,map,mClusterManager));

对于CustomClusterRenderer,您可以像这样扩展DefaultClusterRenderer:

public class CustomClusterRenderer extends DefaultClusterRenderer

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...