Вы здесь

Какой модуль карт использовать?

0

Добрый день!

Какой модуль/связку модулей карт лучше использовать для следующих целей:

  1. Ввод адреса с поиском и возможностью ручками переместить метку на node/add.
  2. В настройках отображения поля менять карту гугл и яндекс.
  3. Агрегировать во вьюсах метки.

Кто какие модули использовал для этого, поделитесь опытом?

Версия Drupal: 
7.x
Категория: 
Mapping
Вопрос задан 20.10.2015 - 11:37

Ответы

2

Чтобы пункт 2 выполнялся, нужно сохранять координаты в поле, которое напрямую не привязано к тому или иному модулю карт, подойдет упомянутый модуль geofield (https://www.drupal.org/project/geofield).

Чтобы выбирать карты в настройках отображения материалов, кодить не нужно. Нужно поставить geofield gmap (https://www.drupal.org/project/geofield_gmap) и geofield yandex maps (https://www.drupal.org/project/geofield_ymap), и выбирать в настройках яндекс-карту или гугл-карту.

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

Ответ дан 20.10.2015 - 15:23

это правильный вариант, не подумал про geofield.

Комментарий оставлен 20.10.2015 - 15:44

Помимо geofield есть еще location, он тоже подходит по смыслу, но, насколько я знаю, для него нет клевой замены geofield yandex maps.

Комментарий оставлен 20.10.2015 - 16:19

@graker, остановился предварительно на Geofield + Leaflet + Leaflet_More_Maps для вывода всевозможными картами. Плюс замечательный модуль Geocoder, геокодирующий в карту текстовое поле с адресом.
Спасибо!

Комментарий оставлен 20.10.2015 - 19:02
0
Ответ дан 20.10.2015 - 11:48

Спасибо!
Я всё же не уверен, что, используя эту связку, смогу переключить отображение с яндекс карт на гугл в настройках отображения. Или ошибаюсь?

Комментарий оставлен 20.10.2015 - 11:51

Просто нужно сделать два отображения и переключать их: css+js например.

Комментарий оставлен 20.10.2015 - 11:58

Спасибо, но задача несколько иная - не очень хочется использовать разные модули на одном сайте, но в ряде случаев (трэвел сайт) требуется отображение российских компаний на яндекс-картах, а зарубежных - на гугл-картах.
Т.е. задача - использовать один модуль, а вывод менять в разных типах материалов.

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

тогда вам надо иметь более высокий уровень абстракции: https://www.drupal.org/project/geofield
но спуститься до нижнего уровня и представить данные на нужной карте - вам придется кодить

Комментарий оставлен 20.10.2015 - 12:31
0

1+3 пункт есть модули готовые.
2 пункта вообще нигде не видел в сочетании с 1+3. Тут придется свое решение придумывать. Как вариант - 1+3 пункты решить модулем, а для решения 2 пункта:
- сделать два поля - координаты яндекс карт, координаты гуглкарт.
- скрыть оба поля на странице редактирования ноды
- при введении страны или как там разделяется у вас - отобразить одну из карт.
- при сохранении координаты с введенного поля закинуть в пустое.
В зависимости от страны выводить 1 или 2 поле - настроить в шаблоне ноды.

UPD
прочитал комментарии. если два модуля не подходит - то только кастомное решение, я не видел модулей, где есть выбор карты. Но в целом не вижу ничего плохого в 2 модулях для такой цели. В любом случае интеграция с гуглкартами и яндекскартами будут разделена внутри одного модуля или же между двумя модулями.

Ответ дан 20.10.2015 - 12:37