2012-08-12 79 views
0

當我的一個下拉選項被點擊時,我想更改Google地圖腳本src,因爲在我的頁面上搜索郵政編碼時遇到問題。爲了得到正確的結果,我相信我需要使用谷歌的區域定位「&區域=」在src網址(https://developers.google.com/maps/documentation/javascript/basics#Localization動態地更改谷歌地圖腳本src與選擇

我已經加載了<head>標籤內我的谷歌地圖API:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

我創建了一個下拉列表

<select id="country"> 
    <option value="sel">Select</option> 
    <option value="DK">Denmark</option> 
    <option value="NL">Netherlands</option> 
    <option value="SE">Sweden</option> 
</select> 

我想谷歌地圖腳本SRC改變,只要其中一個選項上點擊。

例如:如果我點擊丹麥,SRC會再換: http://maps.googleapis.com/maps/api/js?sensor=false&region=DK

我已經嘗試了一些東西出來通過這個Dynamically change the src of a script tag尋找 但我仍然無法弄清楚如何使這行得通。

目前,我有這樣的:

$('#country option').click(function(e) { 
    e.preventDefault(); 
    var region = $(this).attr('value'); 
    var url = 'http://maps.googleapis.com/maps/api/js?sensor=false&region=' + region; 
}); 

我真的新手,當涉及到的jQuery和JavaScript,所以我想也許我可以得到一些幫助,在這裏了。

回答

2

不應該這樣做,因爲刪除腳本元素不會刪除已由腳本創建的方法,變量等。您將收到如下警告:

警告:您已在此頁面上多次包含Google Maps API。這可能會導致意外錯誤

而應該在請求中使用region-parameter,例如當地理編碼

+0

好吧,我看到了...但如果我然後想要從下拉菜單中選擇的選項保存用戶的區域,我會怎麼做?現在'geocoder.geocode({'address':address,'region':'DK'}'起作用了所以我想用可變區域來改變'DK'會起作用,但首先我需要在變量中保存一些數據,但我不知道如何:/ – jtn89 2012-08-12 13:40:51

+0

沒關係我想通了。謝謝你的頭:) – jtn89 2012-08-12 15:12:10

0

如果您嘗試基於用戶選擇動態加載頁面的新腳本,則可能需要查看getScript。只是試圖改變該元素的值不會因爲它已經加載到您的頁面而有所不同。

實際上,如果您所需的腳本完全依賴於用戶在下拉列表中的選擇,我建議將其從頁面中完全刪除,並在用戶僅做出選擇後加載它。