gpt4 book ai didi

geolocation - 如何获取用户的地理位置?

转载 作者:行者123 更新时间:2023-12-04 19:14:07 27 4
gpt4 key购买 nike

在许多网站上,我看到打印出我当前所在的城市(例如“Hello to Berlin.”)。他们是怎么做到的?为此需要什么?
我想主要部分是这里的 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
});
}
position object 将保存用户位置的纬度和经度(但是这在桌面浏览器上人口较少的区域可能非常不准确,因为它们没有内置 GPS 设备)。进一步解释:在莱比锡,在台式计算机上获得约 300 米的精度 - 我使用手机的 GPS 设备获得约 30 米的精度。

然后您可以继续使用 Google Maps API 的坐标。 (见 here for reverse geocoding )查找用户的位置。有一个 few gems for Rails , 如果你想。我从来没有觉得有必要使用它们,但有些人似乎喜欢它们。

至于国家/城市列表,我们使用了从 Geonames 获得的数据。曾经在一个项目中,但我们需要先转换它以满足我们的需要。

关于geolocation - 如何获取用户的地理位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11864174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com