YandexMAP для WordPress

Давеча взялся писать обещанный отчет о поездках на майские праздники… но, как это часто бывает – отвлекся, захотелось, что бы в отчете была карта с разнообразными географическими точками и их фотографиями. Незамедлительно сделал скриншотов  картографического материала, отобрал фотографии и взялся все это хозяйство компоновать. Возился довольно долго, в конце-концов плюнул и занялся поисками  альтернативных  решений этой проблемы.

С легкой руки нашел два плагина Yandex Maps for WordPress и XML Google Maps. Каждый плагин, в своем роде имеет смысл, но ни тот не другой не может сделать требуемого. А требования изменились, хотя суть и осталась прежняя. Поиск плагина к wordpress был продиктован идеей автоматизировать процесс создания и сделать интерактивным просмотр карты… да, звучит пафосно… по сути дела, появилось желание создать простой KML (читай XML) файл с треком поездки, натыкать туда точек, написать к ним небольшие комментарии, а после выложить в блог в виде Yandex или Google карты.

На все телодвижения упомянутые выше плагины отреагировали своеобразно. Yandex Maps for WordPress заявил, что не знает, что такое YMapsML и с чем его едят, а XML Google Maps радостно сознался в понимании KML формата, но при попытке заставить его обработь сохраненный GoogleEart файл – напрочь отказался от своих заявлений, сославшись на Google KML Validator. Касательно последнего плагина вообще забавно получилось, сохраненный в GoogleEarth KML файл валидатор признал негодным, за то мой, созданный ручками в бытность освоения XML структуры KML файлов :) был признан валидатором нормальным, но грузиться плагином тоже не стал.

В общем, не будем о проблемах GNU лицензированных разработок, просто вспомним народную мудрость: “хочешь, что бы что-то было сделано – делай это сам!”.

После небольших изысканий, подрал идею с flv-embed и nextgen-gallery, и сделал небольшой плагин. Суть проста, плагин ищет в сообщении строчку вида

или
и преобразует ее в Yandex карту. В первом случае отображается карта с центром по указанным координатам и масштабом, а во втором – слой, описанный в file.xml по стандарту YMapsML.

В качестве небольшого бонуса – есть админка (Yandex Map  (XML)), в которой можно задать API-KEY и некоторый дефолтовые настройки. А для RSS выводится Static API уменьшенную картинку, что бы feed на пустым был. :)

Скачать плагин можно по ссылке otrip-yamap (версия 0.2 от 25.08.2011).

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

Плагин много не умеет, например пока поддерживается только одна карта на странице и несколько криво обрабатываются параметры, также, в будущем, было бы неплохо сделать кнопку в визуальном редакторе, для добавления кода в текст. Но, что есть, то есть… будем считать, что это версия 0.1.

Рубрика:  




Похожие записи:



  • Александр

    Здравствуйте.
    Замечательный, простой и понятный плагин (смотрел код). Но хочется большего :-)
    Озадачен той же проблемой. Хотелось бы привязывать посты к точкам. Т.е. нужна табличка геоточек и привязка её к постам + галерее, видео и проч. медиа.
    Пока ломаюсь, как это сделать в админке: заполнение таблички и т.п.
    Потом надо бы попытаться содрать работу с шаблонами из Google Map XML. Т.к. посты хорошо бы отражать красива в балунах. В общем, много чего надо бы.
    Если есть желание, можно скооперироваться.
    Кстати, как промежуточный вариант, можно сделать в админке страничку генерации YMapsML из постов и галлерей с сохранением в options. Конечно это подойдет для небольшого количества карт. Да и загрузку на страницу из options надо продумать. Например, указывать в тегах ID записи или ключевое слово, идущее перед XML.
    Что-то вроде [yamap: key='karta-oblasti']
    Но идеальный вариант – свой кусок в базе с оптимизацией именно к карте.
    С уважением, Александр
    СПб

  • http://ashar-kant.livejournal.com/ Ashar

    Александр, спасибо на добром слове. В ближайших планах было переписать плагин под новый API и расширить возможность настройки карты, дав возможность включать/выключать элементы карты по собственному желанию. Какой-либо серьезной интеграции пока не планировалось, однако, признаюсь, мысли были завязать все с nextgen gallery и ее тегами. Впрочем, всегда можно создать плагин, который будет создавать XML файл по тем или иным критериями и дальше его уже подгружать в карту… туда и галерею можно, и посты… да что угодно.

    Для удобства создания собственного XML был сделан коневертер KML в YaMAPSML http://www.otrip.ru/2009/06/kml_to_yamapsml-2/ , также размышляю над созданием “конструктора” для XML, но срочной необходимости в нем пока нет.

    Все будет развиваться неспешными темпами, если будет желание поработать вместе – пишите asharkant[AT]yandex.ru.

  • bottanik

    yandex-maps-for-wordpress при активации выдаёт фатальную ошибку как исправить кто знает подскажите

  • http://ashar-kant.livejournal.com/ KonstantinVU

    А какая версия самого wordpress? Может быть yandex-maps-for-wordpress просто не совместим?

  • bottanik

    Версия 2.8.5, php5- включено а выдает ошибку вот такую:

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /www/kompzasc/www/htdocs/wp-content/plugins/yandex-maps-for-wordpress/wp-yandex-maps.php on line 60

  • http://ashar-kant.livejournal.com/ KonstantinVU

    По ходу проблема с версией PHP… на PHP/5.2.5 плагин Yandex-maps-for-wordpress работает нормально. Возможно что-то в настройках PHP не то…
    Гляньте тут и далее по ссылкам http://forum.ru-board.com/topic.cgi?forum=31&topic=14904

  • bottanik

    Выставил настройки php5 вручную, получилось активировать плагин, теперь другая проблема не отображает текст, прописанный в полях рядом с точкой, в чем проблема подскажите кто знает

  • Дмитрий

    Если вы создадите что то вроде простого генератора xml для YMapsML у вас на сайте (для такой цели можно специальный сайт организовать), то постоянный приток посетителей вам обеспечен. По крайней мере я бы к вам частенько заглядывал и делал xml файлы к постам.

    Представляю себе этот сервис так: Зашел на страничку с картой, натыкал на ней меток(с возможностью выбора её оформления и содержимого) и нажал “Сгенерировать xml”.

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Дмитрий, за посещаемостью не гонюсь, однако в планах подобный конструктор есть, но времени на его реализацию пока нет… сам пользуюсь конструктором от GoogleMAP, где сохраняю KML и загружаю его в конвертер… в итоге получаю нужный XML. Понимаю, не очень удобно, но пока так…

    bottanik, какой текст? где прописан? по хорошему, попробуйте взять плагин otrip-yamap и подгрузите XML файл с нужными данными.

  • Дмитрий

    А что это за конструктор от GoogleMAP? Если вы имеете в виду “Мои карты” на картах гугл, то подскажите пожалуйта, как сохранить свою карту в KML файле?

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Когда просматриваете какую-либо свою карту на GoogleMaps, сверху, над картой, есть ссылочка “Просмотреть в Google Планета Земля”, нажимаете на нее и сохраняете KML файл… сохраните на жесткий диски, потом дадите моему конвертеру, он обработает и выдаст XML. Если чего не обработает – пишите, по возможности, исправлю.

  • bottanik

    KonstantinVU спасибо за помощь все получилось, клёво !!!!!

  • Доброжелатель

    В моих картах на Яндексе можно получить ссылку на YMapsML-файл. Нужно щелкнуть после сохранения карты на “Получить ссылку на карту” и там будет еще поле с ссылкой на YMapsML.

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Сохранить-то можно, но убогий набор инструментария сводит на нет смысл этой функции… увы, у Яндекса до сих пор нет нормального инструмента для создания YMapsML файлов… но подвижки в нужную сторону уже есть, например “Народные карты”… ждемс…

  • Станислав

    Подскажите а как поставить метку на карте? нужно указать дом. Подскажите пожалуйста, если есть такая возможность.

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Станислав, геокодирование в плагине не предусмотрено. Поэтому, если Вам надо поставить точку, то либо ставите ее через GoogleEarth на нужном доме, сохраняете в KML и пользуете конвертер. Либо в “моих картах” на Яндексе ставите нужную точку и даете плагину ссылку на YMapsML-файл. Если знаете координаты, то просто пишите [yamap: 37.61, 55.75, 6].

  • Дмитрий

    Жду с нетерпением обновления плагина. Хочется еще больше настроек ))
    А возможно как нибудь использовать в вашем плагине код, который получаешь при генерации карты? Это не YMapsML-файл?

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Дмитрий, каких настроек Вы хотите? :)

    Ссылку на яндекс.карты плагин не понимает, но понимает ссылку на xml в конструкторе карт на яндексе, там уже обычный YMapsML генерится.

  • andrey

    Огромное спасибо за плагин!
    Ожидаются ли доработки?

  • http://ashar-kant.livejournal.com/ KonstantinVU

    andrey, доработки пока не планируются, т.к. нет в них необходимости… возможно будут какие-либо косметические изменения и замечания в CSS файле, для стабилизации отображения карты и баллунов в целом.

    Впрочем, всегда открыт для предложений и пожеланий…

  • Евгений

    А сайт мне сделаете? Верстка + доработка плагина
    evgenvl@rambler.ru
    скайп evgenvl2

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Евгений, увы, не занимаюсь созданием сайтов на заказ…

  • Евгений

    А пошагово никто не сможет рассказать как повесить яндекс карту с метками?

  • http://ashar-kant.livejournal.com/ KonstantinVU

    Красивые метки делаются через xml, если надо, пример могу на почту отослать…

  • Андрей

    Евгений. Думаю, чтобы научиться ставить метки на карте достаточно посмотреть примеры здесь HTTP://api.yandex.ru/maps/jsapi/examples/

  • Андреич™

    Отличный плагин и до сих пор работоспособен!

    Спасибо большое за прекрасную работу! Вы – отличный мастер! Только вот добавили бы ещё кнопку, чтобы нажал – вставил ссылку на файл карт и код уже готов.

    Ещё раз спасибо! (:

  • Zink

    В архиве странный файл, без расширений..

  • http://www.otrip.ru Konstantin V.Udovichenko

    В архиве папка, содержащая два файла… ya-map.php и yamap-css.css

  • Sony5555

    А чего загрузка недоступна?