mapkit-ios-demo
mapkit-ios-demo copied to clipboard
Создание картинки метки “на лету” при ее появлении из кластера
Добавляю ка карту 3000 меток используя кластеризатор. Кластеры добавляются, все ок.
Добавляю таким образом:
clusterizedPlacemarkCollection.addPlacemarks(with: points,
image: UIImage(named: "mapMarker")!,
style: YMKIconStyle())
clusterizedPlacemarkCollection.clusterPlacemarks(withClusterRadius: 60, minZoom: 15)
Но так для всех меток устанавливается одна и та же картинка. Мне же нужно для каждой метки чуть ли не уникальную картинку выставлять. Картинки самих меток "сложные", формируются из нескольких картинок и текста, для каждой метки - своя картинка. Создавать сразу и присваивать 3000 картинок меткам не вариант - слишком трудозатратная операция.
В Google.Maps есть например метод renderer(_ renderer: GMUClusterRenderer, willRenderMarker marker: GMSMarker)
, который позволяет получать событие когда должна отобразиться метка, и в этом методе создать и присвоить нужную картинку. В SDK Яндекс.Карт такого найти не могу, это вообще возможно?
Для ios такой возможности нет.
Можно попробовать уменьшить количество уникальных картинок с помощью CompositeIcon. Это позволит собрать составную иконку из нескольких слоев. Но это, конечно, имеет смысл делать только если количество разных составных частей из которых состоят иконки заметно меньше, чем число иконок.