Java 如何覆盖DefaultClusterRenderer代码段?
我正在尝试添加一个自定义代码段为我的标记,同时使用谷歌提供的集群 这是我的DefaultClusterRendererJava 如何覆盖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
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方法。我做错了什么