-1

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

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

我在想这样的场景:

  • 新用户访问我们的网站
  • 我们要求地理定位许可(如果浏览器支持)
  • 如果用户允许我们 - 我们查询数据库附近的地方
  • 如果用户拒绝地理定位 - 我们使用地理 IP 数据来获取位置

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

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

4

1 回答 1

1

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

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

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

于 2013-09-05T13:04:01.337 回答