在许多网站上,我看到打印出我当前所在的城市(例如“你好,柏林。”)。他们是怎么做到的?为此需要什么?
我想主要部分是这里的 javascript,但是我需要什么才能在我自己的应用程序中实现这样的东西呢? (或者有一些 Rails 的 gem 吗?)
另外,我还想问一件事 - 我对州列表(通常在选择框中)感兴趣,用户在其中选择他的州(比如说德国),根据州值在另一个选择中显示所有区域在德国,选择区域后将显示所选区域中的各个城市。
是否可以在任何地方获得这个庞大的州/城市/地区数据库?在我们的应用程序中拥有类似的东西会很有趣,但我不知道这些列表在哪里......
你需要一个支持geolocation api的浏览器来获取用户的位置(但是,你需要用户的同意(例如here)这样做(大多数较新的浏览器支持该功能,包括 IE9+ 和大多数移动操作系统的浏览器,包括 Windows Phone 7.5+)。
然后你所要做的就是使用 JavaScript 来获取位置:
if (window.navigator.geolocation) {
var failure, success;
success = function(position) {
console.log(position);
};
failure = function(message) {
alert('Cannot retrieve location!');
};
navigator.geolocation.getCurrentPosition(success, failure, {
maximumAge: Infinity,
timeout: 5000
});
}
The position
对象将保存用户位置的纬度和经度(但是,在桌面浏览器上人口较少的区域,这可能非常不准确,因为它们没有内置 GPS 设备)。进一步解释一下:在莱比锡,在台式电脑上获得的精度约为 300 米 - 我使用手机的 GPS 设备获得的精度约为 30 米。
然后您可以继续使用坐标谷歌地图 API (see 此处用于反向地理编码)来查找用户的位置。有一个Rails 的一些宝石, 如果你想。我从来没有觉得有必要使用它们,但有些人似乎喜欢它们。
至于国家/城市列表,我们使用了从Geonames曾经在一个项目中,但我们需要首先将其转换为我们的需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)