#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:
вы не можете обработать событие щелчка по тем же маркерам местоположения подобным образом. маркеры должны располагаться в разных местах для их обработки.