问题描述
我是一名学习 Android 谷歌地图的学生。
在使用集群管理器制作自定义标记后,我尝试插入一个点击事件,但它不起作用。
如您所见,这是从开放 API 获取信息后制作自定义标记的过程。
mClusterManager = new ClusterManager<Row>(this,mMap);
mClusterManager.setRenderer(new BikeRenderer(this,mMap,mClusterManager));
mMap.setonCameraIdleListener(mClusterManager);
mMap.setonMarkerClickListener(mClusterManager);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("OPEN API URL")
.addConverterFactory(GsonConverterFactory.create())
.build();
BikeService retrofitAPI = retrofit.create(BikeService.class);
retrofitAPI.getBike("MY API NUMBER").enqueue(new Callback<Bike>() {
@Override
public void onResponse(Call<Bike> call,retrofit2.Response<Bike> response) {
if (response.isSuccessful()) {
Bike data = response.body();
RentBikeStatus rentBikeStatus = data.getRentBikeStatus();
List<Row> row = rentBikeStatus.getRow();
for(int i = 0; i< row.size(); i++) {
String stationName = row.get(i).getStationName();
. . . . . .
LatLng BIKE_LOCATION = new LatLng(stationLatitude,stationLongitude);
Row BikeItem = new Row(rackTotCnt,stationName,parkingBiketotCnt,shared,stationLatitude,stationLongitude,stationId,BIKE_LOCATION);
mClusterManager.addItem(BikeItem);
}
}
}
@Override
public void onFailure(Call<SEOulBike>call,Throwable t) {
t.printstacktrace();
}
});
mClusterManager.setonClusterClickListener(new ClusterManager.OnClusterClickListener<Row>() {
@Override
public boolean onClusterClick(Cluster<Row> cluster) {
Log.d("onCluster Click","click");
return true;
}
});
mClusterManager.setonClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<Row>() {
@Override
public boolean onClusterItemClick(Row row) {
Log.d("onCluster Item Click","click");
return true;
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)