2013-07-09 3 views
0

Большая часть моего сайта динамически генерируется в зависимости от местоположения пользователя.Есть ли чистый способ пользователей управлять своими собственными местоположениями?

Чтобы получить первоначальное исправление, я в настоящее время использую модуль Smart_IP, который делает это на основе IP-адреса пользователя, который отлично работает в качестве отправной точки. Я могу получить доступ $_SESSION['smart_ip']['location']['longitude'] & $_SESSION['smart_ip']['location']['latitude'] по необходимости - отлично!

Но мне нужно, чтобы мой пользователю переопределить это ..

  1. Использование HTML5 геолокации. Я хочу сделать это только по запросу пользователя, то есть нажать «Найти меня», а не запрашивать их местонахождение незваным.

  2. Использование одного из нескольких предварительно определенных мест, выбираемых пользователем.

  3. Использование введенного адреса пользователем.

Есть ли какой-либо модуль drupal, который я могу использовать для этого, или как еще я могу его достичь?

-

Просто чтобы прояснить, я говорю об анонимных пользователей здесь - широкой публике, посетив мой сайт. Я просто хочу, чтобы они могли уточнить свое «местоположение», переопределив значения по умолчанию, которые я им даю, используя smart_ip.

ответ

0
  1. Я предлагаю использовать Geolocation field и все эти Подмодули или Geofield. Последний содержит больше методов ввода.

  2. Используйте Address field модуль, позволяющий пользователю создавать несколько адресов в узел (или даже в его профиле), Geocoder модуль, чтобы получить долгота/широта из этих адресов, а затем Views, чтобы отобразить их в списке.

  3. То же, что и 2, но без вида.

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

Наконец, вы должны добавить дополнительное поле для хранения Lat/Lon конечные значения пары возможно с Computed field модуля или 2 простых текстовых полей, которые будут получать выбранные значения с помощью JavaScript.

+0

Привет, я только немного уточнил свой вопрос, спасибо – trapper

+0

Если вы говорите об анонимных пользователях, вы должны использовать модуль views для создания отображения результатов, а затем некоторые модули, такие как https://drupal.org/project/openlayers_proximity или https : //drupal.org/project/geolocation_proximity, чтобы пользователи могли фильтровать результаты. Но в любом случае функциональность, которую вы описываете, кажется, нуждается в настраиваемом модуле и некотором javascript. – TheodorosPloumis

Смежные вопросы