【问题标题】:User geolocation - case study用户地理位置 - 案例研究
【发布时间】:2013-09-05 09:13:05
【问题描述】:

我们有一个 Django 应用程序,它存储世界各地的信息。 案例是,我们想使用地理定位(任何方法)来定位访问者的位置,然后使用谷歌地图显示他们附近的地点。

我正在寻找有关如何实现此目标的最佳做法的建议。我记住,并非所有浏览器都支持地理定位,即使支持,用户也可能拒绝地理定位权限。

我在想这样的场景:

  • 新用户访问我们的网站
  • 我们请求地理定位许可(如果浏览器支持)
  • 如果用户授予我们权限 - 我们会在数据库中查询附近的地点
  • 如果用户拒绝地理位置 - 我们使用地理 IP 数据来获取位置

但是,除此之外,在用户访问网站后,我想立即将地图集中在他的位置上,然后通过 AJAX 请求加载靠近他们的位置。

您有什么建议,即使在旧版浏览器上也能找到用户?可能是我的观念错了?

【问题讨论】:

  • 您可以要求用户输入他们的邮政编码并从中获取 googlemaps 位置。 (无论如何,这是一个不错的选择,地理 IP 数据通常可能不准确
  • 您建议何时询问邮政编码?在询问 HTML5 地理位置之前?以前?
  • 你能不能只在地图上方提供一个邮政编码框?您仍然可以自动请求地理位置,但如果它失败或他们拒绝,您有一个备用选项。

标签: django html google-maps google-maps-api-3 geolocation


【解决方案1】:

不,你的概念没有错。您正朝着正确的方向前进,只需要一些改进:

  1. 新用户访问我们的网站
  2. 我们使用地理 IP 数据来获取位置
  3. 我们显示 Google 地图,用户的位置以地图为中心(使用 IP)
  4. 我们请求地理定位许可(如果浏览器支持)
  5. 如果用户接受许可,我们会将地图居中到新的 位置
  6. 我们在数据库中查询附近的地点(使用浏览器地理位置),在出现(拒绝许可或缺乏浏览器支持)的情况下使用 geo-IP 或来自地理位置的位置。

您还可以使用 Peter Tinkler 的建议添加(5.5 步)以询问位置,以防浏览器不支持地理定位。 (虽然不是每个人都知道他们的邮政编码,所以你需要询问最近的十字路口等免费文本,如果你在旅途中特别有用)。如果您想搜索不完全是您现在所在位置的东西,这也很有用

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 2011-02-14
    • 2010-09-25
    • 2019-07-12
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多