【问题标题】:GoogleMaps JS can't load map anymore in ChinaGoogleMaps JS 无法在中国加载地图了
【发布时间】:2020-05-21 05:30:28
【问题描述】:

在应用中,我们使用谷歌地图为不同国家的用户提供服务。


主要代码...

/// It works until February 4, 2020, but now it can't load the map correctly.
/// I haven't made any changes...
///
MapManager.loadGMapAPIScript = function(){

   var script = doc.createElement("script");
   script.id = "map_api_script";
   script.type = "text/javascript";
   script.src = "http://maps.google.cn/maps/api/js?sensor=false&v=3.40&key="my-googlemap-key-here"&callback=initialize_";
   script.defer = "true";
   script.async = "true";

   if(MapLanguage.language){

     script.src += "&language=" + MapLanguage.language;
   }

   doc.body.appendChild(script);
};

控制台错误日志:“net::ERR_ABORTED 503(服务不可用)”

  • ma​​ps.google.cn”好像无法访问了?
  • "maps.googleapis.com" 有效,但在中国没有 VPN 就无法访问。

问:在没有VPN的情况下,如何在中国和其他地区继续使用GoogleMap-JS?

【问题讨论】:

  • 什么不起作用?与昨天相比有什么变化?您在 javascript 控制台中遇到什么错误?您使用的是什么确切 API URL?您是否使用有效的 API 密钥?等等等等等等。
  • 您能帮我重新打开这个问题吗?谢谢~
  • 有人(你?)举报了this issue。如果不是你,你也应该报告你的。
  • Google 回答:自 2020 年 2 月 3 日起,Google Maps Platform API 将不再托管在 google.cn 域中。这样,所有从 google.cn 域加载 Google Maps Platform API 的请求都将返回一个错误。
  • @xomena 非常感谢。所以...对我来说没有比更改地图或使用 VPN 更好的方法了吗?

标签: google-maps-api-3


【解决方案1】:

Google 于 2019 年 11 月宣布 maps.google.cn 将于 2020 年 2 月 3 日停用。他们告诉我们改用带有 region=CN 查询字符串参数的 maps.googleapis.com(其他参数与我记得的)。

但是新的 URI 不起作用。 JS文件在中国被屏蔽了。我昨天开了一张支持票,谷歌只是把我指向了最近一次更新于 2018 年 5 月的禁区名单。中国在名单上,这很奇怪,因为 maps.google.cn 至少已经工作了几年。当我询问这种行为何时正式改变时,谷歌的回答非常神秘。我几乎得到的印象是,谷歌地图不应该在中国工作,而且它确实是一个意外。

【讨论】:

  • 不,它没有意外工作,否则他们为什么要在 .cn 域上创建并打开 API 访问?现在,如果他们对中国用户的回答是他们应该切换到.com 域,知道这个域仍然被列入黑名单并且无法从中国访问,那么这对问题的处理真的很差(谷歌通常很擅长这个 TBH)。我想这已经影响了 CN 的很多网站/开发人员。
  • 您可能需要查看QQ maps 的 API 文档。如果我有一个面向中国用户(在中国)的网站/项目,我会真的采取行动。 API 方法、参数等对于任何了解 Google Maps API v3 的人来说都会非常非常熟悉;)
  • 截至 2020 年 7 月,此解决方案运行良好:dingyu.me/blog/google-maps-api-china
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 2012-02-22
  • 2019-02-11
  • 2016-05-26
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多