Клуб API Карт

Яндекс-карты и Drupal

Пост в архиве.
sin377
14 марта 2009, 01:55

Только-что закончил свой первый проект с Яндекс-картами, некоммерческий, карта недостроев и новостроек Краснодара на сайте дольщиков. Отображаются все дома на общей карте. Каждый дом также показывается на своей отдельной странице на двух центрированных на него картах -- схеме и спутниковой. Посетители могут добавлять дома на карту, положение выбирается кликом на карте. Зарегистрированные пользователи могут менять ранее добавленные новостройки и править положение маркера также кликом по карте.

Дома хранятся как ноды Друпала, координаты в CCK-поле. В отдельном модуле две функции: в hook_form на форме редактирования нода дома добавляется карта и в hook_nodeapi при просмотре дома выводятся карты. Ну еще сама страница с картой города выбирает все ноды домов и кладёт на карту. За два вечера написал. Спасибо разработчикам за хорошо документированный API!

Единственное не нашел как сделать, это чтобы весь маркер был гиперссылкой на отдельную страницу. Пришлось внутрь маркера пихать гиперссылку, что не совсем удобно использовать.

Ранее пробовал тоже самое сделать картами Google -- там документация показалась похуже, не разобрался с удалением маркера. Еще, по сравнению с Google Maps, понравились маркеры с надписями внутри и, конечно, карта-схема Краснодара с улицами и домами :)

15 комментариев
Для того, чтобы метка выполняла роль гиперссылки можно либо в сам значок метки записать ссылку placemark.setIconContent('Yandex'); либо в слушателе щелчков по метке сделать переадресацию с помощью js: YMaps.Events.observe(placemark, placemark.Events.Click, function () { document.location = "http://ya.ru/"; }); Документация у нашего API Вам понравилась? Какие разделы, на Ваш взгляд, необходимо описать подробнее?
rodlex,
спасибо за помощь, я сразу сделал первый вариант т.к. прямая ссылка удобнее пользователям. Наверно событие тоже добавлю чтобы при клике мимо ссылки по метке был переход. Кстати, если метка без балуна и без ссылки, то как лучше убрать курсор-руку при наведении на метку? Документация понравилась. Я посмотрел только небольшую часть. Неплохо бы добавить пример про удаление меток (метод removeOverlay не сразу нашел) и пример про setIconContent. Еще про метки-ссылки и отключение балуна лучше тоже сделать отдельный пример т.к. это часто используется, в справочнике API я сразу принялся искать свойство метки "быть ссылкой", и только не найдя такое принялся вставлять ссылку.
Средствами API нельзя поменять курсор над меткой. >Неплохо бы добавить пример про удаление меток (метод removeOverlay не сразу нашел) http://api.yandex.ru/maps/jsapi/doc/dg/concepts/overlay_add_delete.xml > и пример про setIconContent. http://api.yandex.ru/maps/jsapi/doc/dg/concepts/markers_iconcontent.xml А про отключение балуна в Руководстве не описано, однако можно найти в справочнике: http://api.yandex.ru/maps/jsapi/doc/ref/reference/placemarkoptions.xml Спасибо за Ваше мнение. Мы будем дорабатывать документацию, чтобы нашим пользователям было удобнее и понятнее.
Да, я эти страницы нашел уже, примеры на эти темы я имел ввиду неплохо бы добавить в рабочем виде сюда: http://api.yandex.ru/maps/jsapi/examples/ >Средствами API нельзя поменять курсор над меткой. Через DOM получилось сменой курсора у класса .YMaps-b-balloon-small, на jQuery так: $(".YMaps-b-balloon-small").css("cursor", "default"); Увидеть результат можно тут: http://dolevoe.net.ru/novostroyki/cheremushki Еще вопрос... Саша, на этой странице видно несовпадение положения метки на карте и на фотке спутниковой. Координаты одинаковые. Я сравнивал с Google Maps -- координаты на спутниковых картах Yandex и Google практически совпадают. Т.е. получается карта-схема Краснодара, по крайней мере в этом месте, заметно сдвинута влево и вниз относительно спутниковой карты. Можно что-то с этим сделать?
Да, об этом сдвиге мы знаем... К сожалению, сейчас ничего нельзя сделать.
уже есть модуль ymaps с гораздо более гибкими возможностями. Сейчас он проходит последние стадии закрытого тестирования.
Модуль Drupal? Интересно.
да, пока его в открытом доступе нет, но скоро можно будет посмотреть на сайт с ним
Я думаю, что многим пользователям пригодится этот модуль. Напишите, пожалуйства, в клубе об этом модуле, когда он выйдет в открытый доступ.
Как скоро выйдёт рабочая версия?
http://drupal.org/project/ymaps - dev-версия. Сейчас используется на нескольких сайтах. В принципе, она "рабочая": необходимые функции были реализованы и глюков особых не отмечалось. Сейчас разработка не продолжается, разве что по конкретным "пожеланиям".

на друпал7 его будут портировать?

Хм, результат работы, недавно появившегося модуля drupal ( http://www.drupal.ru/node/26296) для работы с яндекс.картами (: http://www.winalite-center.ru/content/adresa-i-kontakty-predstavitelstva
Хороший модуль, только при еговключение в IE не отображается контент выводимый с помощью модуля Quick Tabs.

это вы делали с помощью модуля?