Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何覆盖DefaultClusterRenderer代码段?_Java_Android_Android Studio - Fatal编程技术网

Java 如何覆盖DefaultClusterRenderer代码段?

Java 如何覆盖DefaultClusterRenderer代码段?,java,android,android-studio,Java,Android,Android Studio,我正在尝试添加一个自定义代码段为我的标记,同时使用谷歌提供的集群 这是我的DefaultClusterRenderer import android.content.Context; import android.util.Log; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.model.MarkerOptions; import com.google.maps.android

我正在尝试添加一个自定义代码段为我的标记,同时使用谷歌提供的集群

这是我的DefaultClusterRenderer

import android.content.Context;
import android.util.Log;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.maps.android.clustering.Cluster;
import com.google.maps.android.clustering.ClusterItem;
import com.google.maps.android.clustering.ClusterManager;
import com.google.maps.android.clustering.view.DefaultClusterRenderer;

class MarkerClusterRenderer<AbstractMarker extends ClusterItem> extends DefaultClusterRenderer <AbstractMarker>  {

    public MarkerClusterRenderer(Context context, GoogleMap googleMap, ClusterManager<AbstractMarker> clusterManager){
        super(context, googleMap, clusterManager);
    }

    @Override
    protected boolean shouldRenderAsCluster(Cluster<AbstractMarker> cluster) {
        //start clustering if at least 20 items overlap
        return cluster.getSize() > 19;
    }

    @Override
    protected void onBeforeClusterItemRendered(AbstractMarker item,
                                               MarkerOptions markerOptions) {
        super.onBeforeClusterItemRendered(item, markerOptions);
        Log.i("test", "aaaaaaaaaaaaaaaaa : hitting222");
        Log.i("test", "aaaaaaaaaaaaaaaaa : " + item.getSnippet());
        Log.i("test", "aaaaaaaaaaaaaaaaa : " + item.getTitle());
        markerOptions.snippet(item.getSnippet());
        markerOptions.title(item.getTitle());
        markerOptions.position(item.getPosition());
    }

}
然后,我使用以下命令向集群管理器添加标记

MarkerOptions markerOptions = new MarkerOptions()
                                            .position(schoolLatLng)
                                            .title((String) finalSchool.get("Institution_Name"))
                                            .snippet(finalSchool.get("Phase_PED").toString())
                                            .icon(icon);
                                    listMarkers.add(markerOptions);
private void addClusterItems() {
        for(MarkerOptions markerOptions : listMarkers){
            MarkerClusterItem clusterItem = new MarkerClusterItem(markerOptions.getPosition(), markerOptions.getTitle());
            clusterManager.addItem(clusterItem);
        }
    }

    private void setRenderer() {
        MarkerClusterRenderer<MarkerClusterItem> clusterRenderer = new MarkerClusterRenderer<>(this, mMap, clusterManager);
        clusterManager.setRenderer(clusterRenderer);
    }

    private void setupClusterManager() {
        addClusterItems();
        setRenderer();
        clusterManager.cluster();
        mMap.setOnCameraIdleListener(clusterManager);
        mMap.setOnMarkerClickListener(clusterManager);
    }
private void addClusterItems(){
用于(标记选项标记选项:列表标记){
MarkerClusterItem clusterItem=新的MarkerClusterItem(markerOptions.getPosition(),markerOptions.getTitle());
clusterManager.addItem(clusterItem);
}
}
私有void setRenderer(){
MarkerClusterRenderer clusterRenderer=新的MarkerClusterRenderer(此,mMap,clusterManager);
setRenderer(clusterRenderer);
}
私有void setupClusterManager(){
addClusterItems();
setRenderer();
clusterManager.cluster();
mMap.setonCameraideListener(集群管理器);
mMap.setOnMarkerClickListener(clusterManager);
}
我的问题是我无法覆盖代码段。我正在设置的代码段字符串没有连接到我正在重写的onBeforeClusterItemRendered方法。我做错了什么