我需要跟踪我的应用程序的用户lat / lng / city / country,具有以下两个要求:
1)自动获取用户lat / lng / city / country. (这很简单,我可以使用ip或者如果他们有一个支持地理定位的浏览器,甚至更好).
2)允许用户自定义此位置(可能IP地址查找没有给出准确的城市).该位置是自由格式文本字段(不是下拉列表).当用户输入新位置时,应根据可用的城市/国家进行验证.如果它针对其中任何一个进行验证,请选择它,然后检索新位置的latlng. (这就是我遇到的麻烦)
另外要澄清的是,这是一个使用MongoDB的Rails 3应用程序.我正在寻找一个允许我同时执行(1)和(2)的API或数据库.有没有人做过类似的事情?寻找关于其他人如何做到这一点的一些想法.
最佳答案 关于您遇到的问题,您的问题并不完全清楚.一般来说,我会这样做:
>有一个存储位置名称和坐标的位置模型
>当用户输入位置时,发送Ajax请求以查找它
>如果找到,请在会话中设置位置
>如果找不到,返回一个类似名称的位置列表(如果有错字)并让用户选择一个或坚持他们的输入
>完成输入后,根据需要插入新位置并存储User.location_id.
您可以使用Google的Geocoding API来查找未知位置的坐标.