android - 谷歌地图:为什么我会收到referer-not-allowed-map-error?
问题描述
我有一个 Android 应用程序(在 Play 商店之外),它使用带有调用 Google 地图的 Javascript 的 HTML 页面。referer-not-allowed-map-error
在将 API 创建为 Android 应用程序时,我得到了一个。我需要将限制设置为 NONE 才能正常工作。该应用程序已正确签名为调试。
为什么是这样?如何限制 API?
解决方案
Android 应用限制对 Google Maps JavaScript API 无效。此限制仅适用于 Google Maps Android SDK 和 Places Android SDK。
请查看以下文档,该文档解释了您可以将哪种类型的 API 密钥限制与 Google Maps API 一起使用
https://developers.google.com/maps/faq#keysystem
为了解决您的问题,我建议window.location.href
您在从 Android 应用程序的 Web 视图加载 HTML 页面时检查它的值。此值将包含可能用作 Maps JavaScript API 的 HTTP 引荐来源网址限制的字符串。请注意,file://
协议需要特殊表示,如
https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions
我希望这有帮助!
推荐阅读
- traefik - 如何让 Traefik 将 SHTML 文件作为错误页面提供?
- reactjs - 当 window.load 完成但也用于 React 中的重新渲染时,如何运行方法?
- core-data - CoreData-是否可以使用 NSPredicate 对 Fetched Property 进行子查询?
- node.js - Firebase电话身份验证通过后端服务器nodejs?
- bash - 如何 envsubst 匹配模式的文件
- javascript - API 在未发送 /api/xyz 响应的情况下解析。如何解决 NextJS 中的此错误
- javascript - 如何正确控制 React-Bootstrap InputGroup 上的焦点和模糊事件?
- webpack - webpack publicPath 指向驱动器的根目录
- flutter - 如何在 onInit() 函数之前调用列表或函数。在 Dart 中调用 onInit() 之前需要优先考虑一个值列表。Flutter-Dart-Sqlite
- python - 删除预先重复的记录(在 dataFrame 中的多列中不同)