Как обработать событие щелчка по тому же маркеру местоположения

#android #mapbox-android

#Android #mapbox-Android

Вопрос:

Я использую вид маркера для отображения маркера.

Мой код:

 View customView = LayoutInflater.from(activity).inflate(R.layout.dialog_obstacle_with_markers, null);
    customView.setLayoutParams(new FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));

    ImageView iv_marker = customView.findViewById(R.id.iv_marker);
    iv_marker.setTag(reportItemArrayList.get(i).getReportId());
    ImageView iv_marker_white = customView.findViewById(R.id.iv_marker_white);
    FrameLayout fl_category = customView.findViewById(R.id.fl_category);
    ImageView iv_obstacle = customView.findViewById(R.id.iv_obstacle);
    TextView tv_obstacle = customView.findViewById(R.id.tv_obstacle);
    int[] rgbValue = Utils.getRGBFromHex(reportItemArrayList.get(i).getColor());
    iv_marker.setColorFilter(Color.rgb(rgbValue[0], rgbValue[1], rgbValue[2]));

    Glide.with(activity)
            .load(reportItemArrayList.get(i).getFilename())
            .apply(new RequestOptions()
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .placeholder(R.mipmap.ic_obstacle_place_holder)
                    .error(R.mipmap.ic_obstacle_place_holder))
            .into(iv_obstacle);

    tv_obstacle.setText(reportItemArrayList.get(i).getCategoryName());

    MarkerView markerView = new MarkerView(new LatLng(Double.parseDouble(reportItemArrayList.get(i).getLat()), Double.parseDouble(reportItemArrayList.get(i).getLng())), customView);
    markerViewManager.addMarker(markerView);
  

Здесь у меня доступно несколько одинаковых маркеров местоположения, и я могу видеть только первый маркер местоположения, а другой маркер находится за первым маркером из-за того же местоположения.

Теперь я хочу обработать событие щелчка другого маркера за первым маркером.

В настоящее время я получаю только первый щелчок по маркеру местоположения из-за того же местоположения.

Но я хочу, чтобы все события щелчка находились за первым маркером.

Пожалуйста, помогите мне с этим.

Ответ №1:

вы не можете обработать событие щелчка по тем же маркерам местоположения подобным образом. маркеры должны располагаться в разных местах для их обработки.