我有一个应用程序想要嵌入谷歌地图,并且需要将密钥放入配置文件中。所以这就是我的工作:
在config.js
中GOOGLE_MAP_KEY =" mykeyofgoogleapi";
在index.html中
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key="+GOOGLE_MAP_KEY+"&sensor=true">
</script>
问题是我看到Google的GET网址只是
Request URL: https://maps.googleapis.com/maps/api/js?key=
网址的其余部分丢失了。
看起来我在连接这样的URL时做了一些不好的事情。怎么了?
答案 0 :(得分:10)
在您指定<script>
标记的位置,您正在编写HTML而不是Javascript(即使您正在使用它来加载JS文件)。因此,您无法在HTML中引用Javascript变量。
要做到这一点,您需要使用javascript加载Google Maps JS,而不是HTML。例如,请参阅文档中的示例: https://developers.google.com/maps/documentation/javascript/examples/map-simple-async
<script>
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;
</script>
答案 1 :(得分:0)
您不能在HTML中使用+
运算符。它特别是一个JavaScript运算符。由于HTML无法识别+
,因此它只会终止key=
处的字符串。
另一种解决方案是在JavaScript中使用Ajax导入URL。
有关详细信息,请参阅此文档:https://api.jquery.com/jquery.getscript/。它需要使用jQuery。
答案 2 :(得分:0)