“setOnClusterItemClickListener”和“setOnClusterClickListener”不起作用

问题描述

我是一名学习 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 (将#修改为@)