Нужно простое решение Google Maps; заблудился в лабиринте модулей


Прежде всего, позвольте мне просто заявить, что мне все равно, какую версию Drupal мне придется использовать (6 или 7). У меня есть опыт работы с обеими версиями, просто до сих пор мне не приходилось работать с картами Google. Требования довольно просты (насколько я понимаю):

1) Есть узел для каждой компании, которую я хочу добавить на карту

2) В форме редактирования узла я хотел бы добавить адрес и добавить его на пользовательскую карту Google (или, возможно, скопировать и вставить ссылку на местоположение на карте Google)

3) Есть функция поиска, чтобы найти ближайшую компанию для данного местоположения

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

Заранее благодарю.

Author: F1234k, 2011-11-03

2 answers

Я создал функцию Drupal, которая реализует это с помощью OpenLayers (см. http://drupal.org/project/ol_locator ) или вы можете использовать следующее пошаговое руководство для настройки своего собственного.

  1. Загрузите и включите следующие модули:

  2. Включить подмодули:

    • Карта геополя 7.x-1.0-alpha5
    • Просмотр пользовательского интерфейса 7.x-3.0-rc1
    • Пользовательский интерфейс OpenLayers 7.x-2.0-alpha2
    • Просмотры OpenLayers 7.x-2.0-alpha2
  3. Перейдите к admin/structure/types/add и создайте новый тип контента под названием "Location"

  4. Перейдите к admin/structure/types/manage/location/fields и добавьте следующие поля:

    • Метка: Адрес> Имя поля: адрес> Тип поля: Почтовый адрес> Виджет: Форма динамического адреса
  5. Выберите из списка доступные страны, которые вы бы предпочли. Оставьте поле пустым, чтобы разрешить все из них.

  6. Отметьте "Форма адреса (для конкретной страны)"

    • Примечание: Страны и связанные с ними поля обрабатываются модулем Адресное поле. Если вы не видите свою страну или если в ней нет соответствующие поля, необходимые для регистрации проблемы с этим модулем http://drupal.org/project/addressfield (Проверьте, есть ли в очереди проблема с вашей отсутствующей страной, прежде чем публиковать)
  7. Метка: Геополе > Имя поля: геополе > Тип поля: Геополе > Виджет: Геокод из другого поля

  8. Перейдите к admin/structure/types/manage/ol_locator_location/display и измените отображение Default для геополя:

    • Метка: Скрытый > Формат: Открытые слои
  9. Нажмите на значок шестеренки и выберите следующее:

    • Предустановка OpenLayers: Карта форматирования геополя > Параметры данных: Используйте полную геометрию
  10. Перейдите к admin/structure/openlayers/layers/settings и задайте следующее:

    • Версия API карт Google: v3.2
  11. Давайте проверим, работает ли геокодирование, создав тестовое местоположение

    • При создании тестового типа контента убедитесь, что вы используете хорошо зарекомендовавший себя адрес. Если Google не знает о вашем адресе, то и ваш новый сайт тоже не будет знать.
  12. Перейдите к admin/structure/views/add и создайте новое представление со следующей информацией

    • Название представления: Поиск по близости> Описание: Отображает геокодированные местоположения на динамической карте, чтобы пользователи могли выполнять поиск по близости. > Показать: Содержимое типа: Местоположение, отсортированное по: Несортированное> Продолжить и редактировать
  13. Добавьте следующие поля и сохраните их значения по умолчанию, за исключением где отмечено:

    1. Содержимое: Заголовок> Отметьте Создать метку: "Заголовок"
    2. Содержание: Адрес (Адрес)
    3. Содержимое: Геополе (Геополе) > Исключить из отображения
    4. Близость: Расстояние (Расстояние)
  14. Добавьте следующие Критерии фильтрации к существующим:

    • Содержание: Опубликовано (Да) и
    • Содержание: Тип (=Местоположение)
    • Близость: Большой круг (открытый) > Предоставьте этот фильтр посетителям, чтобы они могли его изменить > Метка: Близость> добавьте "10" в поле значения> Разблокируйте единицу измерения> Разблокируйте местоположение
  15. Заголовок > Глобальный: Текстовая область > Отображать, даже если представление не дает результата

    • " Найдите место рядом с вами. Вы можете искать, используя свой город, провинцию/штат или почтовый/почтовый индекс код."
  16. Поведение без результатов> Глобальный: Текстовая область и добавьте следующее:

    • " Извините, результатов не найдено.
      1.) Проверьте точность вашего почтового/почтового индекса
      2.) Проверьте правописание вашего города, провинции или штата
      3.) Увеличьте расстояние близости"
  17. Отправить текст кнопки: Поиск

  18. Добавить новый дисплей: "Данные OpenLayers Наложение"

  19. Формат:

    • Настройки > Применить этот openlayers (переопределение) > Источники данных карты: WKT > Поле WKT: Геополе > Поле описания>> Применить (это отображение)
  20. Сохраните представление

  21. Перейти к admin/structure/openlayers/maps

  22. Клонировать карту по умолчанию

  23. Общая информация > Имя: location_map. Название: Карта местоположения > Описание карты: Это местоположение по умолчанию карта.

  24. Слой и стили > Слои наложения (выберите только что созданный вид) Местоположения "Включено" "Активировано" Сделайте то же самое для заполнителя для форматирования геополя

  25. Поведение > Всплывающее окно (нужно вернуться и "Выбрать слой для применения всплывающих окон". позже)> Увеличить до слоя "Выберите слой для увеличения при загрузке карты" > Уровень масштабирования точки : 20 ****

  26. Сохраните карту

  27. Вернитесь к представление, которое мы только что создали

    • admin/structure/views/view/proximity_search/edit
  28. Добавить отображение "Страница"

    • Путь: /locator
    • Формат: Карта OpenLayers > Применить (это отображение) > Карта: Карта местоположений (та, которую мы только что создали в OpenLayers)> Применить
  29. Сохраните представление (теперь мы должны увидеть нашу карту на панели предварительного просмотра в нижней части нашего представления с любым тестовым контентом

  30. Добавить отображение: "вложение"

    • Формат: Таблица > Применить (это отображение)
    • Прикрепить к: Странице
    • Наследовать открытые фильтры: Да
    • Удалить заголовок > Глобальный: Текстовая область > Применить (это отображение)
    • Элементы для отображения: Отображение указанного количества элементов |5 элементов
    • Унаследовать пейджер: Да
    • Отрисовка пейджера: Да
  31. Сохранить представление

  32. Поведение > Всплывающие окна > Слои > proximity_search_openlayers_1 (В просмотр карты Openlayers, которую мы только что создали)

  33. Масштабирование до слоя > Масштабирование до размера данного слоя при загрузке карты. > proximity_search_openlayers_1

  34. Вернитесь назад к admin/structure/types/manage/location/display> щелкните значок шестеренки и измените Настройки открытых слоев на Карту местоположения, которую мы только что создали > Обновить> Сохранить

Вуаля! Готово

 36
Author: mrP, 2014-07-04 06:03:50

Используйте простой модуль Google maps . Он очень прост и удобен в использовании.

 2
Author: Niks, 2013-12-07 09:33:46