ruby-on-rails - 城市/国家文本字段验证

标签 ruby-on-rails ruby geolocation latitude-longitude

我需要根据以下两个要求跟踪我的应用程序的用户纬度/经度/城市/国家/地区:

1) 自动获取用户lat/lng/city/country。 (这很简单,我可以使用 ip 或者如果他们有支持地理定位的浏览器,那就更好了)。

2) 允许用户自定义此位置(也许 ip 地址查找没有给出准确的城市)。该位置是一个自由格式的文本字段(不是下拉列表)。当用户输入一个新位置时,应该根据可用的城市/国家对其进行验证。如果它针对其中任何一个进行验证,请选择它,然后检索新位置的经纬度。 (这是我遇到的麻烦)

还要澄清一下,这是一个使用 MongoDB 的 Rails 3 应用程序。我正在寻找允许我同时执行 (1) 和 (2) 的单个 API 或数据库。有没有人做过类似的事情?寻找关于其他人如何做到这一点的一些想法。

最佳答案

关于您遇到的问题,您的问题并不完全清楚。一般来说,我会这样做:

  • 有一个存储位置名称和坐标的 Location 模型
  • 当用户输入一个位置时,发送一个 Ajax 请求来查找它
  • 如果找到,在 session 中设置位置
  • 如果未找到,则返回一个名称相似的位置列表(以防出现拼写错误)并让用户选择一个或坚持他们的输入
  • 完成输入后,根据需要插入新位置并存储 User.location_id。

您可以使用 Google 的 Geocoding API查找未知位置的坐标。

关于ruby-on-rails - 城市/国家文本字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125353/

相关文章:

ruby-on-rails - 通过 cygwin 为 GITHUB 设置公钥/私钥

ruby-on-rails - 在Rails ApplicationController session 中使用result_from进行AJAX调用似乎丢失了

javascript - 让我的浏览器调试器在地理定位时中断

ruby-on-rails - Rails-自定义删除前确认对话框的 View

ruby-on-rails - 如何使我在 Rails 中的数据库查询方法更有效率

ruby-on-rails - 获取特定工作日的最接近日期

ruby - IntelliJ ruby 警告 "Cannot resolve properly, was not processed"

javascript - y 轴的 Highcharts 复选框

Android map View 自动平移

php - 如何检查经度/纬度点是否在坐标范围内?