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

2023-12-19

我正在构建一个网站,该网站使用 HTML5 中的地理位置来提供特定于用户所在区域的服务。这就是我一直在做的事情:我在此使用 Javascript所以问题 https://stackoverflow.com/questions/6747833/how-can-i-find-a-users-country-using-html5-geolocation获取国家和行政区域名称。然后,我在数据库中搜索国家和地区名称,它会返回我可以显示的特定于位置的数据。

这是脚本:

<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 标准代码,应该是数据库查找的基础,而不是本地化的国家/地区名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用地理位置而不是完整的国家和地区名称来获取国家和地区代码 的相关文章

随机推荐

  • print() 函数打印列表中每个元素的内容

    基本上 我正在尝试编写一个打印语句 该语句允许我在运行 driver java 时将每行的元素作为 println 打印为输出 我一生都不知道该怎么做 任何帮助将不胜感激 这是driver java public class Driver
  • 如何将 ANSEL 文本转换为 UTF-8

    如何在 C 中将 ANSEL 编码的文本更改为 UTF 8 这是一个重要的转换 因为 Windows NET Framework 没有 ANSEL 代码页 看here http www heiner eichmann de gedcom c
  • 实体框架登录失败错误

    我已经在 IIS 中托管了我的 WCF 应用程序 并设置了一个集成了 4 0 的应用程序池 我将池标识配置为网络服务 我已经检查了与此问题相关的其他帖子 但无法解决它 我得到以下异常 System Data Entity Core Enti
  • 混合地图类型图块的 Google 地图图块 URL?

    我找到了常规地图图块的基本 URL 结构 https mts1 google com vt lyrs m 186112443 hl x local src app x 1325 y 3143 z 13 s Galile 从 Google 获
  • SetProcessDpiAwareness 没有效果

    我一直在尝试禁用 ClickOnce 应用程序上的 DPI 感知 我很快发现 不可能在清单中指定它 因为 ClickOnce 不支持清单文件中的 asm v3 我发现的下一个选项是调用新的 Windows 函数设置进程Dpi感知 https
  • 为什么建议的 Swift 单例实现使用结构体?

    The 普遍接受的 Swift 单例模式 https stackoverflow com a 24024762 998117在类变量 类型属性中使用 Struct 代替 class MySingleton class var sharedI
  • 如何在opencart中自动选择结账选项?

    在我正在开发的商店中 用户只有创建帐户才能查看价格并将产品添加到购物车 之后 他们可以将产品添加到购物车 帐单详细信息和交付详细信息选项将自动填写用户的地址 送货方式免费 付款方式为 货到付款 我如何自动选择这些选项并隐藏它们 这样剩下的唯
  • 如何在 Keras 中使用 categorical_hinge?

    也许是一个非常愚蠢的问题 但我找不到如何在 Keras 中使用 categorical hinge 的示例 我进行分类 我的目标是shape 1 值为 1 0 1 所以我有 3 个类别 使用函数式 API 我设置了输出层 如下所示 输出 密
  • C# FluentScheduler 作业不重复

    我有一个简单的任务 我试图使用 FluentScheduler 重复执行 但我似乎无法让它正常运行 我对 工作 和 行动 完全陌生 所以我确信这是我没有考虑到的愚蠢的事情 我正在修改我原来的问题 因为提供的解决方案适用于控制台应用程序 但不
  • matlab中循环与矢量化的比较

    让我们考虑以下脉冲函数代码 function y impulse function n y 0 if n 0 y 1 end end 这段代码 gt gt n 2 2 gt gt i 1 length n gt gt f i impulse
  • 每次我打开对话框时,Microsoft Visual Studio 2019“服务器繁忙”。 Devenv.exe 与 textservice.dll 发生错误

    每次我打开对话框时 Microsoft Visual Studio 2019 都会显示 服务器繁忙 对话框 Procmon 搜索 devenv exe 发现以下文件至少有 100 个 NO SUCH FILE 条目 C Users jlav
  • 从字符串中删除重音字符 - Python

    我从网页获取一些数据并在 python 中像这样读取它 origional doc urllib2 urlopen url read 有时此网址包含以下字符 and and ect 我怎样才能从字符串中删除这些字符 现在这就是我正在尝试的
  • 这段树遍历代码的错误在哪里?

    有一个错误Traverse 这导致它多次迭代节点 被窃听的代码 public IEnumerable
  • CSS3 - 3D 立方体 - IE 变换样式:preserve-3d 解决方法

    浏览完 IE10 后开发者博客 http msdn microsoft com en gb library ie hh673529 28v vs 85 29 aspx the ms transform style property我发现他们
  • 在弹性搜索查询中将子项视为父项的字段

    我正在阅读 elasticsearch 的文档 此 page 1 讨论了如何使用将子项映射到父项类型 parent 如果我有孩子叫email依附于父母称为account 每种类型的字段 account http localhost 9200
  • 如何设置仅允许站点默认页面的robot.txt

    假设我有一个网站http example com http example com 我真的很想让机器人看到主页 但任何其他页面都需要被阻止 因为它对蜘蛛来说毫无意义 换句话说 http example com http example co
  • Apache htpasswd 安全密码更改

    我的问题很简单 如何允许用户更改存储在Linux中的某些htpasswd文件中的密码而不泄露文件内容或允许用户修改其他密码 我尝试编写一个脚本来使用 ssh 和专门设计的用户来完成这项工作 但它没有成功 请帮忙 我正在使用 Debian 服
  • 在 VBA 中访问组内的形状组

    我正在尝试访问包含 VBA PPTX 中的组的子组 而不是所有形状 例如 这是我的分组结构 Group 1 Group 2 Line 1 长方形1 长方形2 我希望 GroupItems Count 为 2 一组和一个矩形 而不是 3 两个
  • 添加安装程序显示服务名称包含无效字符、为空或太长

    我已经创建了一个服务 当我右键单击并按创建安装程序时 我收到上述错误消息 服务名称未丢失且有效 问题可能在于我的服务有一个基类 有几个属性和一个空的构造函数 基本上看起来像这样 EmailService MyService MyServic
  • 如何使用地理位置而不是完整的国家和地区名称来获取国家和地区代码

    我正在构建一个网站 该网站使用 HTML5 中的地理位置来提供特定于用户所在区域的服务 这就是我一直在做的事情 我在此使用 Javascript所以问题 https stackoverflow com questions 6747833 h