适用于file:///的Google Maps API密钥引荐来源

时间:2016-06-25 15:29:55

标签: google-maps google-maps-api-3

我遇到了一个应用程序,我部署了一个可以在三个不同位置显示的Google Map:

  • 在应用程序Webview中
  • 在浏览器中预览
  • 发布到服务器

所以我需要用户在api密钥中添加一些引用来覆盖它们发布到自己服务器的时间。

他们可以为自己服务器上发布的地图和浏览器本地方面的预览添加推荐人。

但是,当我在应用程序Web视图中预览地图时,我无法弄清楚您添加的引用情况,此时页面的网址是文件:///引用的网址?

如果我们将所有推荐人留空以获得完整的通配符api密钥,则可以在app中的webview中使用。

我尝试了尽可能多的配置,因为我可以想到一个引用文件:/// url但没有运气:

我试过了:

文件

文件*

文件/ *

文件:/// *

1 个答案:

答案 0 :(得分:6)

您似乎无法使用file:///作为网址来源来解决此问题。您将始终收到RefererNotAllowedMapError错误。使用file:///作为URL origin告诉我你正试图在本地环境中运行它。我建议您使用Python Simple HTTP serverNodeJS local server使用本地服务器。

我已经列举了如何在此SO thread中设置本地Python服务器的步骤。您可以使用它运行Google地图示例。

<强>更新

好消息是,谷歌增加了对文件:/ referrers的支持。您可以在文档中看到以下文本

file:// referers need a special representation to be added to the Key restriction. The "file:/" part should be replaced with "__file_url__" before being added to the Key restriction. For example, "file://path/to/" should be formatted as "__file_url__/path/to/*". After enabling file:// referers, it is recommended you regularly check your usage, to make sure it matches your expectations

https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions