2015-07-10 87 views
0

我有一個應用程序想要嵌入谷歌地圖,它需要將密鑰放入配置文件。因此,這裏是我做的:動態設置谷歌密鑰

在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> 

的問題是,我看到了GET URL到谷歌僅僅是

Request URL: https://maps.googleapis.com/maps/api/js?key= 

的URL的其餘部分被丟失。

看來我做了一些不好的concat URL這樣的。哪裏不對?

回答

5

如果您指定<script>標記,您正在編寫HTML而不是Javascript(即使您正在使用它來加載JS文件)。所以你不能在HTML中引用Javascript變量。

要做到這一點,你需要使用javascript加載谷歌地圖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> 
0

您不能像這樣在HTML中使用+運算符。它特別是一個JavaScript運算符。由於HTML不識別+,它只是終止字符串key=

另一種解決方案是在JavaScript中使用Ajax導入網址。

請參閱此文檔以瞭解更多詳細信息:https://api.jquery.com/jquery.getscript/。它將需要使用jQuery。