Ruby on rails 如何自动查找用户';什么地方?
我目前正在一个节目列表网站上工作。我将按位置为用户显示以各种不同方式排序的显示信息 我知道,当用户第一次登录网站时,我可以询问他们的位置,但我注意到许多网站都内置了自动检测位置的功能(例如,请参阅“活动:您所在地区的音乐会列表”)Ruby on rails 如何自动查找用户';什么地方?,ruby-on-rails,ruby,language-agnostic,location,detect,Ruby On Rails,Ruby,Language Agnostic,Location,Detect,我目前正在一个节目列表网站上工作。我将按位置为用户显示以各种不同方式排序的显示信息 我知道,当用户第一次登录网站时,我可以询问他们的位置,但我注意到许多网站都内置了自动检测位置的功能(例如,请参阅“活动:您所在地区的音乐会列表”) 他们是怎么做到的?我目前正在用RubyonRails构建我的网站。他们通常使用IP表的IP分辨率。 可能会有一些想法这里有一个指向相关谷歌地图API文档的链接: 它显示了如何使用它的示例: /** * Set the currentState_ and curre
他们是怎么做到的?我目前正在用RubyonRails构建我的网站。他们通常使用IP表的IP分辨率。
可能会有一些想法这里有一个指向相关谷歌地图API文档的链接: 它显示了如何使用它的示例:
/**
* Set the currentState_ and currentCountry_ properties based on the client's
* current location (when available and in the US), or to the defaults.
*/
InTheNews.prototype.setDefaultLocation_ = function() {
this.currentState_ = this.options_.startingState;
if (google.loader.ClientLocation &&
google.loader.ClientLocation.address.country_code == "US" &&
google.loader.ClientLocation.address.region) {
// geo locate was successful and user is in the United States. range
// check the region so that we can safely use it when selecting a
// state level polygon overlay
var state = google.loader.ClientLocation.address.region.toUpperCase();
if (InTheNews.stateNames[state]) {
this.currentState_ = state;
}
}
this.currentCountry_ = "US";
}
并告诉您将从中获得什么:
当填充时
google.loader.ClientLocation
对象为
填充了以下内容
metro级粒度属性:
-提供与客户端IP地址关联的低分辨率纬度ClientLocation.latitude
-提供与客户端IP地址关联的低分辨率经度ClientLocation.longitude
-提供与客户端IP地址关联的城市名称ClientLocation.address.city
-提供与客户端IP地址关联的国家/地区的名称ClientLocation.address.country
- ClientLocation.address.country_代码-提供与客户IP地址关联的ISO 3166-1国家/地区代码的名称
- ClientLocation.address.region-提供与客户端IP地址关联的特定于国家/地区的名称
您可能希望了解Solution的IP位置。一个开源的解决方案。有一种新的方法,事实上它是找到地理位置的更好的方法,因为浏览器本机支持W3C API进行地理定位。。。你应该去看看。是一个使用Maxminds免费或付费库的简单宝石
轻松设置,无需模式更新。我对社区有点陌生,因此这可能有点离谱,但包含页面中的片段如何实质性地增加答案?他仍然需要点击链接才能使用API,不是吗?@runako:这个想法是为了让SO成为一个充满信息的维基。因此,拥有链接是一个很好的开始,但是提供更多的信息让某人有一个良好的开端就更好了。@runako-如果页面移动或被删除怎么办?在这种情况下,上面发布的文档很可能也被弃用。@runako:然后这个wiki就可以编辑了。我建议您阅读常见问题解答,了解更多关于我们为什么选择此选项的信息。如果您需要更多信息,请不要忘记对一些您喜欢的答案进行投票,并可能标记一个已接受的答案。人们总是需要鼓励。我对三个答案投了赞成票。但有人对一切都投了反对票。@Coding:有趣。好问题,请继续。