Клуб API Карт

Позиционирование метки при изменении масштаба карты

Удалённый пользователь
20 января 2015, 13:21

Здравствуйте,

 

Ответьте пожалуйста:

1) Координаты метки всегда привязаны к середине нижней границы иконки метки или есть какие-либо случаи когда это не так? (я о стандартных метках)

2) Для пользовательских меток созданных с помощью шаблона (iconLayout), к какой точке метки привязываются координаты?

3) Нужно ли указывать для пользовательской метки из пункта 2 размер, как, например, это делается если я меняю только иконку метки (iconImageHref) с помощью iconImageSize, для того чтобы координаты привязались к нужной точке шаблона метки?

4) Возможно ли изменить точку привязки координат метки из пункта 2, например на верх, середину или еще какую-то часть метки. Если да, то как это возможно сделать.

В данный момент у меня есть проблема с позиционированием пользовательской метки при изменении масштаба карты (метка съезжает с заданной точки при уменьшении масштаба)


Метку создаю так:

var ymaps_user_layout = ymaps.templateLayoutFactory.createClass('[здесь, собственно, макет метки]');

var ymaps_user = new ymaps.Placemark( [members[i].location.lat, members[i].location.lon], { hintContent: members[i].first_name + ' ' + members[i].last_name }, { iconLayout: ymaps_user_layout });

4 комментария
Подписаться на комментарии к посту
Добрый день. При задании собственной метки нужно использовать опции "iconImageSize" - размер изображения в метке и "iconImageOffset" смещение от верхнего левого угла изображения.
Пример на тему
https://tech.yandex.ru/maps/jsbox/2.1/icon_customImage
Удалённый пользователь
20 января 2015, 17:37

Выставил: 

{

                        iconLayout: ymaps_user_layout,

                        iconImageSize: [82, 99],

                        iconImageOffset: [-41, -99]

                    }

Не помогло, метка все также съезжает при масштабировании.

Опции iconImage* работают с макетом
iconLayout: 'default#image'. Я подумал, что вы пытаетесь подставить свое изображение, а не полностью собственный макет.
Подставьте опцию iconOffset со значением текущего iconImageOffset.
Удалённый пользователь
21 января 2015, 08:32

Спасибо большое, помогло :)