Данные по клику на метку, которая входит в кластеризованную коллекцию
Создана кластеризованная коллекция из множества меток:
ClusterizedPlacemarkCollection clusterizedCollection =
mapView.getMap().getMapObjects().addClusterizedPlacemarkCollection(this);
Bitmap image = ImageProvider.fromResource(this, R.drawable.location).getImage();
ImageProvider imageProvider =
ImageProvider.fromBitmap(Bitmap.createScaledBitmap(image, 70, 200, false));
clusterizedCollection.addPlacemarks(points, imageProvider, new IconStyle());
clusterizedCollection.clusterPlacemarks(60, 13);
Метки получены из json и перебраны по одной, чтобы получить их координаты, записать в список points и добавить в коллекцию. Возникла такая проблема: кроме координат у меток есть ещё данные, которые нужно выводить для каждой отдельной метки по клику на неё.
До использования коллекции это было реализовано так: создать метку, присвоить метке данные с помощью setUserData(), по тапу на метку срабатывал слушатель и через метод onMapObjectTap и применение к выбранному объекту (метке) getUserData() данные можно было получить.
Теперь же в коллекцию эти данные вообще не идут, то есть у меток есть только координаты и картинка.
Вопросы:
- Как добавить в коллекцию не только координаты, но и другие данные о метке?
- Как сделать так, чтобы нажатие на метку снова обрабатывалось?
Ответы (1 шт):
Решение оказалось очень простым.
Метки создаются и добавляются в коллекцию по одной таким образом:
PlacemarkMapObject placemark = clusterizedCollection.addEmptyPlacemark(point);
После этого к метке можно обращаться и делать с ней что нужно: устанавливать иконку, данные, навешивать слушатель и так далее.