0

我的很多网站都是根据用户位置动态生成的。

为了获得初始修复,我目前正在使用 Smart_IP 模块,该模块基于用户 IP 地址执行此操作 - 作为起点非常有用。我可以根据需要访问 $_SESSION['smart_ip']['location']['longitude']& $_SESSION['smart_ip']['location']['latitude']- 完美!

但我需要允许我的用户覆盖这个..

  1. 使用 HTML5 地理位置。我只想根据用户请求执行此操作,即单击“定位我”,而不是不请自来地请求他们的位置。

  2. 使用用户可选择的几个预定义位置之一。

  3. 使用用户输入的地址。

有没有我可以使用的drupal模块,或者我还能如何实现它?

-

澄清一下,我在这里谈论的是匿名用户——访问我网站的公众。我只是希望他们能够通过覆盖我使用 smart_ip 给他们的默认值来优化他们的“位置”。

4

1 回答 1

0
  1. 我建议使用Geolocation 字段及其所有子模块或Geofield。最后一个提供了更多的输入法。

  2. 使用地址字段模块允许用户在一个节点(甚至他的个人资料)中创建多个地址,地理编码器模块从这些地址中获取经度/纬度,然后使用视图在列表中显示它们。

  3. 与 2 相同,但没有视图。

如果您想允许用户选择 3 种方法之一,您可以使用另一个 - 助手 - 字段(例如,带有 3 个选项的选择列表)。

最后,您应该添加一个额外的字段来存储纬度/经度对的最终值,可能使用计算字段模块或 2 个简单的文本字段,这些字段将通过 javascript 获取选定的值。

于 2013-07-09T15:24:20.877 回答