dynamically set googleapi key
我有一个应用程序想要嵌入谷歌地图,需要将这个密钥放入一个配置文件中。所以我要做的是:
在配置文件JS中
google_map_key="mykeyofgoogleapi";
在索引文件中
1 2 | <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key="+GOOGLE_MAP_KEY+"&sensor=true"> |
问题是我看到的google的网址是
1 | Request URL: https://maps.googleapis.com/maps/api/js?key= |
URL的其余部分丢失。
看起来我在concat的url中做了一些不好的事情。怎么了?
在指定
为此,您需要使用JavaScript而不是HTML加载GoogleMapsJS。例如,请参见文档中的示例:https://developers.google.com/maps/documentation/javascript/examples/map-simple-async
1 2 3 4 5 6 7 8 9 10 11 | var GOOGLE_MAP_KEY ="mykeyofgoogleapi"; function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?v=3' + '&key=' + GOOGLE_MAP_KEY +'&callback=initialize'; //& needed document.body.appendChild(script); } window.onload = loadScript; |
您必须动态加载脚本。
您也可以考虑使用最新版本的MAP API(V3):
在HTML中不能使用这样的
另一种解决方案是在JavaScript中使用Ajax来导入URL。
有关详细信息,请参阅此文档:https://api.jquery.com/jquery.getscript/。它将需要使用jquery。