Разработка

Mappy - модуль для вставки карт

Было дело, я писал статью про создание продвинутой контактной страницы. Там была вставка карты, которая не только показывает место, но и может проложить к нему маршрут. В момент написания, у меня появилась идея написать модуль для простой вставки карт на сайт, ну и я его создал. Представляю вам модуль Mappy.

Mappy — по сути, просто небольшой JS файл, который подгружает все необходимые библиотеки карт на страницах, где собственно и требуется карта. При этом он позволяет вставлять карты на сайты средствами обычного HTML и атрибутов к нему. Что в свою очередь облегчает процесс вставки карт на сайт для неопытных пользователей.

Вставка карты осуществляется при помощи html-тега 
<mappy:сервис атрибуты></mappy:сервис>

Где вместо сервиса мы подставляем названием карт, google или yandex, а вместо атрибутов, параметры для карты.

Я постарался сделать параметры (атрибуты) максимально универсальными между картами. Это необходимо, если вы настроили карту для гугла, но затем решили сменить на яндекс, надо будет всего лишь изменить название сервиса. Но все же, стоит обращать внимание при большом количестве параметров, так как например зум у яндекса принимает координаты, а у гугла булевое значение.

Каждый из сервисов имеет 4 обязательных параметра:

  • address — город, улица или здание где будет центрироваться карта;
  • zoom — насколько будет изначально приближена или отдалена карта;
  • width — ширина карты в px;
  • height — высотка карты в px.

Со всеми возможными атрибутами, назначением и прочими информативными справками я предлагаю обратиться к документации модуля на GitHub:

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

Пример 1

<mappy:google address="г. Пермь, ул. Пермская 200“ zoom="14“ width="760“ height="400"></mappy:google>

Пример 1

Пример 2

<mappy:google address="г. Пермь, ул. Пермская 200“ zoom="10“ width="760“ height="400“ addressPlacemark="false» zoomControl="false“ streetViewControl="false“ mapTypeControl="false"><mappy:google>

Пример 2

Пример 3

<mappy:google address="г. Пермь, ул. Крисанова 16; г. Пермь, ул Крисанова 18; г. Пермь, Ленина 82; г. Пермь, ул Крисанова 18Б“ zoom="16“ width="760“ height="400"><mappy:google>

Пример 3

Пример 4

<mappy:google address="г. Пермь, Ленина 82“ zoom="16“ width="760» height="400“ balloonContent="Часы работы: <b>9:00 — 21:00</b>"><mappy:google>

Пример 4

Пример 5

Для Яндекс карт сделал прокладку маршрута.

<mappy:yandex address="г. Пермь, ул. Ленина 82“ zoom="16“ width="760“ height="400“ route="create-route,route-start"></mappy:yandex> <input type="text“ id="route-start“ value="Пермь, "><input type="button» id="create-route» value="Показать путь">

Пример 5

Также примеры можно найти на GitHub, и еще немного в комментариях к записи на drupal.ru.

Скачать можно по адресу: http://drupal.org/project/mappy

Приятного использования. Отзывы, предложения и пожелания можете писать как в комментариях к этой записи, так и к записи на drupal.ru.

 
 
06.07.2013 — 11:03