Клуб API Карт

Метка центра карты ("мишень")

rx333
5 октября 2009, 01:26

Каким способом можно реализовать постоянное отображение метки центра карты?

То есть, в центральной точке карты требуется постоянно показывать небольшой, неактивный графический объект (крестик, точку, или что-то подобное), служащий как раз для того, чтобы было точно видно, где находитcя центр карты.

Думается, можно реализовать это в виде маркера с пользовательским дизайном, который привязать к листенеру событий - на перемещения карты, и каждый раз при движении карты удалять старый маркер, и рисовать вместо него новый с координатами центра карты. Но что-то подсказывает мне, что это далеко не самый эффективный и не самый изящный способ. Поэтому, обращаюсь за советом к специалистам:)

p.s. Пример рабочей реализации того, о чем я говорю, можно видеть, например, на викимапии.

3 комментария
Подписаться на комментарии к посту
.cross
{
    position: absolute;
    top: 50%;
    left: 50%;
}

YMaps.jQuery('')
    .css('zIndex', YMaps.ZIndex.MAP_LAYER + 1)
    .appendTo(map.getContainer());
Большое спасибо!


Однако, при этом столкнулся с необходимостью перехода на апи 1.1.х.
А именно, возникли проблемы со стилями маркеров, которые работают в апи 1.0.х, но выдают ошибку в 1.1.х.

Т.е. конструкция (вынесена в отдельный файл .js)
var s = new YMaps.Style();
s.iconStyle = new YMaps.IconStyle();
s.IconStyle.href = "http://сайт.ru/images/01.png";
s.IconStyle.size = new YMaps.Size(25, 45);
s.IconStyle.offset = new YMaps.Point(-18, -45);

и далее
placemark = new YMaps.Placemark(new YMaps.GeoPoint(x, y),{hint: true});

в 1.0 работала, а в 1.1 получаю ошибку iconStyle is undefined
Надо писать s.iconStyle, а не s.IconStyle - строчная буква первая, а не заглавная.