2013-09-05 6 views
0

У нас есть приложение Django, которое хранит информацию о местах по всему миру. Дело в том, что мы хотим использовать геолокацию (любой метод), чтобы найти местоположение посетителей, а затем показывать места рядом с ними с помощью карт Google.User geolocation - case study

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

Я думал о scenerio, таких, как это:

  • новый пользователь посещает наш сайт
  • мы просим геолокации разрешения (если браузер поддерживает его)
  • если пользователь дает нам разрешение - мы запрашиваем базу данных для близлежащих мест
  • если пользователь отказывается от геолокации - мы используем данные гео-IP для получения позиции

Однако в дополнение к этому, сразу после посещения пользователем веб-сайта, я хочу сосредоточить карту на его позиции, а затем через AJAX запросите места загрузки рядом с ними.

Есть ли у вас какие-либо предложения, как найти пользователя даже в более старшем браузере? Может быть, моя концепция ошибочна?

+0

Вы можете попросить пользователя ввести свой почтовый индекс и получить от него местоположение googlemaps. (Это хороший вариант для предоставления в любом случае, данные гео-IP часто могут быть неточными. –

+0

Когда вы предлагаете просить почтовый индекс? Прежде чем запрашивать геолокацию HTML5? До? – dease

+1

Можете ли вы не просто открыть почтовый ящик над картой во все времена? Вы все равно можете запросить геолокацию автоматически, но если она не удалась или они упадут, у вас есть резервный вариант. –

ответ

1

Нет, ваша концепция не ошибается. Вы двигаетесь в правильном направлении, просто нуждается в некотором уточнении:

  1. Нового пользователя посетить наш веб-сайт
  2. мы используем гео-IP данные, чтобы получить Поместите
  3. Мы показываем карту Google с позицией пользователя с центром на карте (с использованием IP)
  4. мы просим геолокацию разрешения (если браузер поддерживает его)
  5. если пользователь принимает разрешения мы центрировать карту в новом места
  6. мы запрашиваем базу данных для близких мест (используя геолокацию браузера), используя либо гео-IP в случае (разрешения разрешения или отсутствия поддержки браузера), либо местоположения от геолокации.

Вы также можете добавить (5.5 шаг) с предложением Питера Тинклера запросить местоположение, если браузер не поддерживает геолокацию. (Хотя не все знают свой почтовый код, поэтому вам нужно запросить бесплатный текст, например, ближайший перекресток, особенно полезный, если вы на ходу). Это также полезно, если вы хотите искать вещи не точно, где вы сейчас.