Конвертер KML в YMapsML (2.0)

Существенно переработал, а если быть более точным, то практически полностью переписал движок конвертера KML в YMapsML, теперь он намного лучше понимает разнородную структуру KML файла (спасибо всем, кто пытался пользоваться старой версией).

Учитывая пожелания, в будущем в конвертере будет реализован ряд дополнительных полезностей.

  1. Генерация JavaScript кода, для вставки на своем сайте.
  2. Создание Static API ссылки, для сайтов без поддержки JavaScript.
  3. Обратная конвертация из YMapsML в KML или OZI (wpt,plt).
  4. Поддержка конвертирования из OZI (wpt,plt) в YMapsML.

Впрочем, когда именно эти дополнительные полезности случаться, пока сложно сказать. 🙂
Читать далее «Конвертер KML в YMapsML (2.0)»

Конвертер KML в YMapsML

С момента, как сделал плагин для wordpress, в голове постоянно крутилась мысль, что хорошо бы найти утилитку для создания XML файлов для Yandex карт… или, на худой конец, конвертер из чего-нибудь распространенного в YMapsML.

После непродолжительного общения с поисковиками и чтения клуба разработчиков API Яндекс.Карт удалось выяснить печальный факт — конвертеров в природе нет, по крайней мере явно на них никто не ссылается. Также, в означенном клубе говорят, что пока инструментария для создания YMapsML не существует, ну и, где-то тамже было, что в будущем yandex карты будут поддерживать KML файлы без всяких конвертеров, но это не приоритетная задача… 🙁

Одним словом, ничего определенного и понятного… единственное, что удалось найти за все время, это блог «Занимательная Веб-картография», в котором рассказывалось про конвертер из GPX в YMapsML (http://map.z66.ru/gpx2ymaps).

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

Итак, извольте посмотреть — Конвертер KML в YMapsML. Как следует из названия, скрипт берет KML файл и переводит его в XML, который понимает Yandex карты. Обрабатывает пока не так много, понимает только StyleMap, Style, Placemark(Point), Placemark(LineString) и структуру KML:  Document->Folder, Folder->Document, Document. Точно также, как и с плагином для wordpress, надеюсь, что в дальнейшем скрипт будет дорабатываться и модернизироваться.

googleearth_test_kml

Читать далее «Конвертер KML в YMapsML»

YandexMAP для WordPress (07.09.2012 v0.5 beta)

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

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

Читать далее «YandexMAP для WordPress (07.09.2012 v0.5 beta)»

Плагин lj-userpic и его извращение…

Вчера заметил, что после переезда на новый хостинг стал криво работать плагин wp-lj-userpic. Суть плагина в том, что он обрабатывает поля OpenID/HomePage коментатора, ищет в них слово livejournal, найдя которое пытается вытянуть RSS канал ЖЖ-юзера и выдрать из него аватар, который и отображается вместо стандартной «пустышки» в списке коментариев.

Это как должно быть, а на практике сей скрипт стал обрабатывать RSS каким-то неведомым способом, в результате которого часть коментаторов получают свой аватар из ЖЖ, а другая нет…

Взялся копать…

По дефолту скрипт использует стандартные библиотеки WordPress, на которых и возникает затык. Почему — непонятно… при одних и тех же входных данных, но разных пользователях у одного аватара есть, у другого нет… а, да… все тоже самое, но на localhost работает.

«ты спроси у yandex-а, ты спроси у google-а» *напевает*

Решение проблемы нарисовалось быстро — необходимо немного извратить плагин…

В файле wp-lj-userpic.php заменить две строчки:

$rss = fetch_rss($url);
$userpic = $rss->image[‘url’];

Вместо них вписать:

$rss =  simplexml_load_file($url);
$userpic =  $rss->channel->image->url;

simplexml_load_file() — функция PHP5, по этому, может случиться, что и она не поможет.

А узкое место всего этого плагина в том, что он обрабатывает весь RSS от ЖЖ-юзера, даже если в итоге нужна только одна строчка, что не всегда хорошее решение…

Для расширения кругозора, можно посмотреть заметку Все о парсинге RSS лент средствами PHP.