Клуб API Карт

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

Это может быть просто контрол.

Это может быть просто div поверх карты.

Это просто html

Может быть. т.е. нет инструмента в API для вывода сообщений поверх карты?

Вот в живую, а не на картинке:

http://realty.yandex.ru/search.xml?type=SELL&category=APARTMENT&rgid=355968

Как создан черный прямоугольник?

Откройте инспектор или fireBug.

Увидите что это div вне пределов карты, который абсолютно спозиционирован в это место.

Вопрос в том, если нативное средства для отображения сообщений на карте или нет?

Конечно же НЕТ

Максимально - hint, но это не сообщение.

Ясно.

Просто сейчас это реализовано вот так:

var myButton = new ymaps.control.Button('Всего найдено элементов:',{position: { bottom: 5, left: 5 }, selectOnClick: false});
myMap.controls.add(myButton);

но мне не нравится, что я добавляю кнопку только ради сообщения.

Не нравиться принцип(он вообще правильный) или внешний вид(его можно изменить)?

Я просто думал, что раз есть кнопка, то почему бы и простому текстому полю не быть в API, но видимо его нет и придется настраивать кнопку.

Пример использования хинта для вывода сообщений.

А сможете этот hint выводить в нижнем левом углу карты при резиновом дизайне?

Hint почти подходит, но я не обнаружил у него возможности позиционирования внутри карты. Например, у control есть BOTTOM_LEFT.

Оборачиваете карту в див с таким же размером и position: relative и в этом диве делате другие дивы с z-index: 1 и position: absolute; left: 0px; bottom: 0px

Да это путь, но он выглядит еще большим велосипедом, чем оформить control button.

скорее костылём, чем велосипедом)

Пожалуй, Вы правы.

Можно слушать событие sizechange на карте и перепозиционировать хинт.

Возможно будет проще написать свой контрол, который будет делать тоже самое. Можно посмотреть как сделан контрол указатель центра карты "крестик" в этом примере.

С крестиком всё просто. Есть метод getCenter().

Если посмотреть на код этого контрола, чего Вы явно не сделали, то:

1. этот метод не используется

2. совершенно неважно по центру этот кретик или за N пикселей снизу

Вы правы не сделал.

Тоже вариант. С помощью кода из представленного Вами примера можно получить координаты левого нижнего угла карты и отобразить там hint и обновлять данные при изменении размера картинки.