Клуб API Карт

Аналог GControlPosition

Пост в архиве.

Собственно вопрос в заголовке, существует ли аналогичное решение в апи яндекс карт?

И ещё сразу вопрос, возможно ли сделать всплывающую подсказку(hint) ровно по центру над меткой? Вне зависимости от положения курсора на этой метке?

8 комментариев

offset относительно курсора смещает... (

Сдвиг всплывающей подсказки относительно точки ее позиционирования (в пикселах).

 

 

где тут про курсор?

Тогда можно пример в студию? У меня позиционируется относительно курсора, и смещение относительно него соотв. На метку этому смещению вообще по барабану.

Sergey Konstantinov
28 января 2016, 06:10

> И ещё сразу вопрос, возможно ли сделать всплывающую подсказку(hint) ровно по центру над меткой?

Можно, но вам придется отключить дефолтный хинт и написать свой, примерно так:

YMaps.Events.observe(pm, pm.Events.MouseEnter, function () {

  map.hint.show(

    map.converter

        .coordinatesToLocalPixels(pm.getCoordBoint())

        .moveBy(new YMaps.Point(5, 5)), //

    'Контент хинта'

  );

}

YMaps.Events.observe(pm, pm.Events.MouseLeave, function () {

   map.hint.hide()

});

Для удобства можно отнаследоваться от YMaps.Placemark и сделать свой класс с хинтом, висящим по центру метки.

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

Ещё можно проблему решить средствами CSS - в контент хинта добавить скрытый абсолютно позиционируемый див, который будет показывываться по :hover на родителе.

Sergey Konstantinov
28 января 2016, 06:10

вместо "pm.getCoordBoint()" следует читать "pm.getCoordPoint()" :)

Спасибо. Помогло:)

Только вот возникла другая проблемка... этот хинт появляется в диве с классом YMaps-popup, у которого абсолютное позиционирование, и соотв. заданы отсутпы слева и сверху, НО если метка расположена у самого края карты, то этот хинт не образается на половину, как должен, а показывается полностью, соотв. не центрируясь... Т.е. игнорит значение заданное в moveBy...