Позиционирование изображения метки Yandex Mapkit

Рейтинг: 2Ответов: 1Опубликовано: 11.01.2023

Устанавливаю метку, в качестве иконки использую изображение такого вида:введите сюда описание изображения

Получается, что координаты метки совпадают с серединой изображения, а хотелось бы, чтобы на координаты указывал нижний заострённый участок изображения.

На данный момент использую такое решение: в редакторе увеличиваю высоту картинки в 2 раза, оставляя нижнюю половину просто пустой прозрачной. Но у этого решения есть минусы, например: 1) увеличивается размер изображения, а значит при загрузке множества меток они отрисовываются дольше; 2) при нажатии на метку, можно так же нажать на визуально пустое место, а попасть по метке, а это не совсем удобно и корректно.

Вопрос такой: можно ли при задании иконки метки как-то сдвинуть картинку по вертикали вверх на половину её высоты?

Ответы

▲ 2Принят

При создании новой метки, добавляйте к ней IconStyle. Меняя параметры от 0 до 1, вы можете настроить точку закрепления иконки на карте по горизонтали и вертикали. В вашем случае:

                mapObject.setIcon(imageProvider, new IconStyle().setAnchor(
                    new PointF(0.5f, 1f)).
                    setRotationType(RotationType.NO_ROTATION)
                    .setZIndex(0f)
                    .setScale(0.5f));