gpt4 book ai didi

javascript - 如何使用地理定位而不是完整的国家和地区名称来获取国家和地区代码

转载 作者:行者123 更新时间:2023-11-28 00:07:31 30 4
gpt4 key购买 nike

我正在构建一个网站,该网站使用 HTML5 中的地理定位来提供特定于用户所在区域的服务。这是我一直在做的事情:我在此 SO question 中使用 Javascript获取国家和行政区域名称。然后我在数据库中搜索国家和地区名称,它返回我可以显示的特定于位置的数据。

这是脚本:

<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
var region = "";
var country = "";
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,noGeolocation);
} else {
...
}
}
function showPosition(position)
{
var geocoder = new google.maps.Geocoder();
var latlong = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
geocoder.geocode({'latLng': latlong}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
for (var i = 0; i < results[0].address_components.length; i++)
{
var longname = results[0].address_components[i].long_name;
var type = results[0].address_components[i].types;
if (type.indexOf("administrative_area_level_1") != -1)
{
region = longname;
}
if (type.indexOf("country") != -1)
{
country = longname;
}
}
}
});
}
function noGeolocation()
{
...
}

getLocation();
</script>

这个脚本工作正常。在我使用设置为不同语言的操作系统和浏览器之前,我没有遇到任何问题。然后脚本返回该语言的国家和地区名称。当然,我在我的数据库中找不到任何匹配项。

所以,问题是(是):有没有办法从谷歌反向地理定位中获取与语言无关的国家和地区代码?还是有办法始终以英语获取它?那么我最好使用 IP 地理定位吗?还是我应该使用完全不同的方法?

感谢您的帮助。

最佳答案

您应该为国家/地区使用 short_name 值,这是两位数的国家/地区代码。这些是 ISO 标准代码,应该是您数据库查找的基础,而不是本地化的国家/地区名称。

关于javascript - 如何使用地理定位而不是完整的国家和地区名称来获取国家和地区代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17703918/

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