如何在中国访问谷歌地图API

2023-12-11

我正在使用 google 地图 api 来获取我的 IBM Mobilefirst 项目中的用户位置,它在除中国之外的所有国家/地区都按预期工作正常。我知道这是因为中国已阻止在其国家/地区访问 google api。是否有任何解决方法我可以使该应用程序即使在中国也能运行。我给出了下面的代码片段以供参考。

这是我脑子里的剧本

 <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBaKx9iQrPQuOmAc2DkMRgjFdT0_XTdbmE&sensor=false&v=3&libraries=geometry"></script>

JavaScript 代码

function getLocation() {
    busy = new WL.BusyIndicator ();
    busy.show();
    if (navigator.geolocation) {

        navigator.geolocation.getCurrentPosition(showPosition, showError,options);
    } else { 
        alert( "Geolocation is not supported");}
    }

function showPosition(pos) {

    var geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
    latitude=pos.coords.latitude;
    longitude=pos.coords.longitude;
    geocoder.geocode({ 'latLng': latlng }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var addresscomponent=results[0].address_components;
            var addresslength=addresscomponent.length;
            for(var i=0;i<addresslength;i++){
                if(addresscomponent[i].types[0]=='country'){
                    countryname=addresscomponent[i].short_name;
                }
                else if(addresscomponent[i].types[0]=='locality'){
                    cityname=addresscomponent[i].short_name;
                }
            }
}

function showError(error) {
    alert(error);
    busy.hide(); 
       }

为什么我无法从中国访问 Google Maps API?

Google Maps API 在中国境内通过域名maps.google.cn 提供服务。该域名不支持https。从中国向 Google Maps API 发出请求时,请替换https://maps.googleapis.com with http://maps.google.cn.

例如:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+圆形剧场+公园大道,+山+景观,+CA

会成为:

http://maps.google.cn/maps/api/geocode/json?address=1600+露天剧场+公园大道,+山+景观,+CA

参考 :谷歌常见问题解答

Update
对于国家/地区使用:

$.getJSON("http://ip-api.com/json/", function (data) {
        var country = data.country_name;//your country
        alert(country);
        
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在中国访问谷歌地图API 的相关文章

  • 如何使用 JavaScript 创建链接?

    我有一个标题字符串和一个链接字符串 我不知道如何将两者放在一起以使用 JavaScript 在页面上创建链接 任何帮助表示赞赏 我试图解决这个问题的原因是因为我有一个 RSS 源并且有一个标题和 URL 列表 我想将标题链接到 URL 以使
  • Javascript 函数查找数字的倍数

    创建一个名为的函数multiplesOf 它将接受两个参数 第一个参数是数字数组 第二个参数是数字 该函数应返回一个新数组 该数组由参数数组中的每个数字组成 该数字是参数数字的倍数 So multiplesOf 5 6 7 8 9 10 3
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • IE从哪个版本开始支持Object.create(null)?

    您可以通过多种方式在 JavaScript 中创建对象 creates an object which makes the Object prototype of data var data1 new Object Object liter
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

    当我运行 rspec 时 是否可以让 capybara selenium 向 rspec 报告任何 javascript console errors 和其他异常 我有一大堆测试失败 但当我手动测试它时 我的应用程序正在运行 如果不知道仅在
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • Javascript 假值(null、未定义、false、空字符串:“”或 '' 和 0)和比较(==)运算符 [重复]

    这个问题在这里已经有答案了 当我使用任何一个值时 null undefined false 0 in a if陈述 它总是被评估为谬误 false 另外 这些值的否定 null undefined false 0 in a if语句总是被评
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 用于交互式图形绘制的轻量级 JavaScript 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣了解用于绘制交互式图表的最轻量级 javascript 库 我掌握的数据主要是与海洋研究相关的科学数据 我知道一些 jquery

随机推荐

  • 在 CASSANDRA 中存储 JSON 对象

    我想将 JSON 存储在 CASSANDRA 数据库中 JSON 的每个字段都应映射到各自的列 是否可以 如果可能的话我怎样才能实现它 请大家帮帮我 答案与另一篇文章中给出的相同 Cassandra 不再是无模式的 因此没有开箱即用的解决方
  • 如何从具有透明背景的matplotlib中导出绘图?

    我正在使用 matplotlib 制作一些图表 不幸的是我无法在没有白色背景的情况下导出它们 换句话说 当我导出这样的图并将其放置在另一个图像的顶部时 白色背景隐藏了其后面的内容 而不是让它显示出来 如何导出具有透明背景的绘图 使用 mat
  • Google Chart:获取仪表板中条形图的列数

    我有一个如下所示的 JSON 数据来在谷歌图表中构建仪表板 我想绘制一个每月条形图 其中 x 轴作为 scan time 月份 y 轴作为进入该月的 tag id 的计数 tag ids 可以重复 输入 JSON 格式的数据 tag id
  • 如何更改 MongoDB 用户的密码?

    我在过去的某个时刻使用 db addUser 创建用户 我现在如何更改该用户的密码 我使用具有 userAdmin 角色的用户登录 我可以使用什么命令来更改其他用户的密码 Edit 2 我需要 v2 4 风格的 addUser 和特权文档的
  • 从oracle导入数据到mysql[重复]

    这个问题在这里已经有答案了 我有2个数据库 第一个是Mysql数据库 用于网站 第二个是Oracle数据库 它有我想在网站上显示的数据 并且数据必须是最新的 我的意思是 我需要每30分钟执行一个进程将数据从oracle数据库迁移到Mysql
  • 重新列出各种深度的平面列表,保留类别

    假设这个简化的例子 L lt list L Foo lt list L Foo Bar lt list L Foo Bar X lt TRUE L Foo Bar Y lt abc L Lorem lt list L Lorem Ipsum
  • 在存储过程的 SqlParameter 中使用 DateTime,格式错误

    我正在尝试使用 C NET 2 0 调用存储过程 在 SQL 2005 服务器上 DateTime作为 a 的值SqlParameter 存储过程中的 SQL 类型是 datetime 从 SQL Management Studio 执行存
  • 此范围关系未授权访问令牌

    我将范围附加到身份验证网址 如下所示 gt gt gt 范围 喜欢 评论 关系 基本 但登录时 它不会要求用户提供关系许可 仅显示 此应用程序可以访问您的照片 每当我通过点击关注或取消关注任何用户时 在应用程序内 String url ht
  • 在 JavaFX 中同步倒计时器的最佳方法

    我的程序需要九个倒计时器 定时器由用户启动 在我的实现中 我为每个启动的计时器创建一个计时器类 定时器类使用时间线 根据计时器的启动 秒数是异步的 我不知道如何继续 我的第一个想法是仅使用 1 个时间线来进行所有倒计时 我会将所有字符串属性
  • 如何使用 Oracle 的 PHP 制作图表

    我想使用 php 创建一个图表 数据来自 oracle 我没有找到使用oracle作为数据库的例子 大部分都是来自mysql 数据是这样的 I have made this code but it s not working its sho
  • Mockito WrongTypeOfReturnValue:findById() 无法返回布尔值

    我正在尝试使用 Mockito 通过 JUnit 测试来测试以下方法 Override public List
  • Subversion 与 SourceSafe 的性能对比

    我们是一个由 5 名开发人员组成的分布式团队 致力于相当大的集成项目 我们目前使用 SourceSafe 是的 我know它很糟糕 但直到最近它才起作用 我们一直使用它 我们最近最大的问题变成了性能 签入和签出项目需要很长时间 我们发现自己
  • 我应该输入类型吗?

    创建变量时应该指定类型吗 仅仅声明关键字 var 有什么缺点吗 这两者有什么区别吗 var a 0 int a 0 优点缺点 ONGOING WORK 最佳实践 推荐使用var or final关键字 不指定类型注释 并隐式推断类型已知局部
  • 使用pyHook获取鼠标坐标以便稍后播放

    我正在编写一段代码来使用 pyHook 收集鼠标单击信息 然后使用 win32api 来访问单击函数 本质上 我试图使用鼠标来记录点击模式 以便稍后记录和回放 这是我现在的代码 import win32api win32con time w
  • 如何让网络工作者同时执行多项任务?

    我试图让 Web Worker 管理其状态 同时服务多个异步请求 工人 ts 文件 let a 0 this is my worker s state let worker self as unknown as Worker worker
  • 在 shell 中将星号转义为 Java 命令行参数

    我在 shell 中使用星号作为 Java 命令行参数时遇到了问题 我可以将这个问题的描述简化如下 首先 有一个简单的 java 程序 它打印命令行参数 public class CmdArgsTest public static void
  • C++ long 到 double 的可移植转换

    我需要准确地将长表示位转换为双精度 我的解决方案应可移植到不同的体系结构 能够跨编译器成为标准 如 g 和 clang 也很棒 我正在编写一个快速近似来计算 exp 函数 如建议的那样这个问题的答案 double fast exp doub
  • 使用jquery AJAX提交表单[重复]

    这个问题在这里已经有答案了 我正在尝试使用 jQuery ajax 提交表单 但我的数据没有发布到 PHP 它返回空数组 POST array 这是我的代码 这是我的表格
  • 参数嗅探

    假设我们有一个具有 6 个参数 性能不佳的存储过程 如果六个参数之一传输到存储过程中的局部变量 是否足以禁用参数嗅探 或者是否有必要将传递到存储过程的所有 6 个参数传输到存储过程中的局部变量 根据 Paul White 的评论 将变量分配
  • 如何在中国访问谷歌地图API

    我正在使用 google 地图 api 来获取我的 IBM Mobilefirst 项目中的用户位置 它在除中国之外的所有国家 地区都按预期工作正常 我知道这是因为中国已阻止在其国家 地区访问 google api 是否有任何解决方法我可以