---
title: 'Yandex Map Field'
url: 'https://graker.ru/news/2012/07/20/ymap_field'
language: ru
type: post
author: 'Роман Грачев'
published: '2012-07-20T20:42:48+04:00'
updated: '2017-03-13T13:09:43+03:00'
categories:
  - Программирование
  - Разработка
  - Друпальчики
---

# Yandex Map Field

**Дорогие друзья! Модуль переехал [на NetSpark.Ru](http://netspark.ru/useful/modules/yandex-map-field-prostoe-pole-s-yandeks-kartoy). Вся дальнейшая разработка и поддержка будет происходить там. Текст новости и комментарии здесь — сохранены для истории.**

Пока на Друпал.ру [кипят страсти](http://www.drupal.ru/node/82785) по поводу конкурса модулей для Яндекса, пока всех волнуют важнейшие вопросы: будут ли опубликованы все модули, кем, когда, где и под какой лицензией, и кто же наконец победит в конкурсе — возникла задача сделать свой модуль для Яндекс.Карт. Сделал, делюсь.
Собственно, модуль *Yandex Map Field* довольно простой — именно поэтому не стал особо смотреть на уже выложенные конкурсные работы. Модуль добавляет поле Яндекс.Карт для присоединения к сущностям и предназначен по большей части для сайтов-визиток. То есть, чтобы приаттачить к странице «контактов» карту, отображающую заданный адрес.

Как оно работает:

1\. Ставим модуль как обычно.

2\. Добавляем поле Yandex map field к ноде.

3\. Создаем экземпляр ноды. Для добавленного поля появляется форма, примерно такая:

![](https://graker.ru/sites/default/files/styles/max_1300x1300/public/legacy/ymap_scr_1.png.webp?itok=39R12VHz)

4\. В поле поиска вводим нужный адрес и жмем Enter или кнопку Search. Появляются результаты.

![](https://graker.ru/sites/default/files/styles/max_1300x1300/public/legacy/ymap_scr_2.png.webp?itok=JhxmdcG4)

5\. При щелчке на каждый из результатов, карта центрируется на нем с автоматической подстройкой масштаба.

6\. При каждой перецентровке карты по результатам поиска, в скрытые элементы сохраняются: полная строка адреса, координаты, текущий масштаб.

7\. При изменении пользователем масштаба, новый масштаб также сохраняется в скрытый элемент, так что есть возможность подстроить подходящий масштаб перед сохранением.

8\. После сохранения, в ноде будет выведен адрес и карта, отцентрированная на сохраненных координатах. В центре будет метка, по нажатии на метку — выскочит балун, содержащий введенное в настройках Друпала имя сайта.

![](https://graker.ru/sites/default/files/styles/max_1300x1300/public/legacy/ymap_scr_3.png.webp?itok=cVpWTha6)

Чего нет:

1. Нет темизации формы поиска: она пока зашита в код, но добавить классов в нее не составит труда.
2. Нет ничего продвинутого типа прокладки маршрутов, измерений расстояний и наборов геообъектов — за этим обращайтесь к конкурсным модулям.
3. Не стояло задачи сделать поле множественным, поэтому при количестве полей более одного на сущность, яваскрипт будет яростно глючить. Может, потом сделаю множественность, а может оно и не надо.
4. Пока нет настройки, что выводить в балуне (сейчас выводится имя сайта). Но в принципе нетрудно сделать что угодно — хоть текст по выбору, хоть токены.
5. Число выводимых вариантов поиска пока жестко установлено в 10, поменять можно только внутри яваскрипта.

Примерно так. Качайте, пользуйтесь.
**upd**: Добавлена галочка *Show the map*, позволяющая скрыть карту отдельно для каждой страницы, к которой прикрепляется поле.
