Вы здесь

Вывод карты Яндекс на основе адреса из двух полей (Улица, Дом)

1

Приветствую. Стоит задача вывести в нодах карту. Есть поля улица, дом.
При помощи какого модуля это можно реализовать, не заполняя дополнительное поле (модуль yamaps этим и не устроил)? Можно чтобы при добавлении ноды предпросмотр карты не выводился.

Версия Drupal: 
7.x
Категория: 
Field APIMapping
Вопрос задан 25.04.2015 - 23:22

Ответы

2

Правильней будет добавить поле Geofield и при сохранении ноды геокодировать адрес в координаты с помощью модуля Geocoder, чтобы при просмотре не бомбить яндекс постоянными запросами на геокодирование (только я не знаю умеет ли он из админки собирать адрес из нескольких полей).

А дальше вывести карту через модуль Geofield Yandex Maps.

Ответ дан 26.04.2015 - 00:19
Аватар пользователя xandeadx
xandeadx
1542

Пытался так реализовать. Но возникла проблема как раз с тем, что адрес хранится не в одном поле, а разбит по частям.

Комментарий оставлен 26.04.2015 - 12:39

У меня та же проблема. Одно поле - Иерархический список терминов (Населенный пункт/Улица), второе поле (Номер дома). Тоже пробовал геокодер. Ничего не вышло. Так и не смог собрать всё в одно поле (Computed field). Но даже если соберешь всё в одно поле, возникнет еще одна проблема, не все адреса есть на Я.Карте, а указать свой (уточнить, выбрать вручную на карте) уже не получится, как я понял.

Комментарий оставлен 26.04.2015 - 21:01

В документации модуля Geocoder есть пример программного геокодирования адреса - https://www.drupal.org/node/1355780
Использовать код можно в hook_node_presave.

Комментарий оставлен 28.04.2015 - 03:07

Но ведь это не решит проблему с отсутствующими адресами. Как я понял, при геокодировании карта вообще не показывается, ввёл адрес, получил результат на карте при просмотре ноды. А ручно корректировки установки метки уже не будет.

Комментарий оставлен 12.05.2015 - 14:12