微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“setOnClusterItemClickListener”和“setOnClusterClickListener”不起作用

如何解决“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 举报,一经查实,本站将立刻删除。