我使用的是角度地图和谷歌地图。在我找到的所有教程中,说明如下:添加到您的index.html代码:
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR-API-KEY" type="text/javascript"> </script>
在这种方法中,API密钥存储在我的源代码中,这是不推荐的。
如何在角度上进行不同的处理?
通常我会通过引用URL来限制我的api密钥。
https://developers.google.com/maps/api-key-best-practices#apply_apikey_restrictions
我知道不久前有人问过这个问题,但我只是在寻找同一问题的答案时遇到的。以下是我的想法:
- 我通过引用URL保护我的密钥
- 我创建了一个服务,保存我的谷歌地图类型和模块导入。该服务处理所有与谷歌地图API相关的事情。在服务中,我创建了一个google脚本标记的字符串属性,其中包含我的api密钥,我还为脚本标记提供了一个自定义的
id=""
属性。然后,在我的新服务的构造函数中,我检查是否存在带有if ( !document.getElementById('my-custom-id') ) { append script }
的标记。如果找不到该标记,构造函数将把它附加到<head>
标记上
目的是,除非用户正在访问实际需要的组件,否则脚本标记永远不会出现在head标记中。我的实现是在登录之后,因此您需要登录才能使用Google Maps API功能访问组件。scraper需要绕过登录才能找到脚本标记(这不会发生(。