城市/国家文本字段验证

发布于 2024-09-07 07:56:15 字数 394 浏览 6 评论 0原文

我需要跟踪我的应用程序的用户 lat/lng/city/country ,并满足以下两个要求:

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

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

另外需要澄清的是,这是一个使用 MongoDB 的 Rails 3 应用程序。我正在寻找一个 API 或数据库来允许我同时完成 (1) 和 (2) 的任务。有人做过类似的事情吗?寻找一些关于其他人如何做到这一点的想法。

I need to keep track of the users lat/lng/city/country for my application with the following two requirements:

1) Get the users lat/lng/city/country automatically. (This is easy, I can use the ip or if they have a browser that supports geolocation, even better).

2) The user is allowed to customize this location (maybe the ip address lookup didn't give an accurate city). The location is a freeform text field (not a dropdown). When the user enters a new location it should be validated against available cities/countries. If it validates against any one of them, select it and then retrieve the latlng for the new location. (This is what I'm having trouble with)

Also to clarify, this is a Rails 3 app using MongoDB. I am looking for either a single API or database that would allow me to do both (1) and (2). Has anyone done anything similar? Looking for some ideas as to how others have done this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

软甜啾 2024-09-14 07:56:15

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

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

您可以使用 Google 的地理编码 API 查找未知位置的坐标。

Your question isn't entirely clear as to what problem you are having. In general terms, I would do it like this:

  • have a Location model that stores location name and coordinates
  • when the user enters a location, send an Ajax request to look it up
  • if it's found, set the location in the session
  • if it isn't found, return a list of similarly named locations (in case there was a typo) and let the user choose one or stick to their input
  • when they are done with the input, insert a new location if required and store User.location_id.

You could use Google's Geocoding API to look up the coordinates of unknown locations.

深空失忆 2024-09-14 07:56:15

我会推荐 Geokit Gem,它在为多个项目提供前端方面做得非常好地理编码 API。我强烈建议坚持使用雅虎或谷歌,只是为了纯粹的数据完整性问题。

有一个 rails 插件,它为 Activerecord 添加了一些不错的助手。目前,主要项目与 Rails 3 不兼容,但至少有一个分支已针对 Rails 3 进行了更新。

I would recommend the Geokit Gem, it does a very nice job of providing a front end for several Geocoding APIs. I highly recommend sticking with Yahoo or Google, just for sheer data integrity issues.

There is a rails plugin, that adds some nice helpers to Activerecord. At the moment the main project is not rails 3 compatible, but there is at least one fork that has updated for rails 3.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文