2017-04-24 101 views
0

嗨,我試圖用javascript更改google地圖和h3文本,但它不工作。用javascript更改div id和innerHTML內容

我想要做的是顯示不同的地圖和標題,所以基本上我想用id="map2"替換<div id="map"></div> id來顯示柏林位置而不是洛杉磯。 另外我想用 "Worlds Season 5"替換 <h3 div="textChange">Worlds Finals Season 3 and 6</h3>文本。

這裏的HTML:

<article> 
<div class="container"> 
<button onclick="changediv()">Season 5</button> 
<h3 id="textChange">Worlds Finals Season 3 and 6</h3> 
<div id="map"></div> 
</div> 
</article> 

這裏是JavaScript的:

function initMap() { 
    var losAngeles = { 
     lat: 34.038037, 
     lng: -118.244753 
    }; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 4, 
     center: losAngeles 
    }); 
    var marker = new google.maps.Marker({ 
     position: losAngeles, 
     map: map 
    }); 

    var berlin = { 
     lat: 52.518894, 
     lng: 13.407413 
    }; 
    var map2 = new google.maps.Map(document.getElementById('map2'), { 
     zoom: 4, 
     center: berlin 
    }); 

function changediv() { 
    if (document.getElementById("map")) { 
     document.getElementById("textChange").innerHTML = "Worlds Finals Season 5";   
     document.getElementById("map").id = "map2"; 
    } 
} 

編輯: 「點擊數」, 「格」 和括號加,所以現在H3文本的變化,但地圖仍然不會改變,我是否必須重新編輯該頁面才能正常工作?使用谷歌地圖api。

+1

它不應該是'的onclick = 「changediv()」'?我從來沒有聽說過'舔'事件 –

回答

2

1) 有一個錯字這裏:

<h3 div="textChange">Worlds Finals Season 3 and 6</h3> 

將其更改爲:

<h3 id="textChange">Worlds Finals Season 3 and 6</h3> 

2) 作爲註釋中有一個在HTML另一錯字

<button onlick="changediv">Season 5</button> 

當你觸發一個點擊你想要調用的函數時,你忘記了括號。

<button onlick="changediv()">Season 5</button> 

3) 最後但並非最不重要的地圖。 。根據文檔映射實例應該被重用,而不是創建一個新的實例,你應該改變位置。

function changeDiv(){ 
    if (document.getElementById("map")) { 
    document.getElementById("textChange").innerHTML = "Worlds Finals Season5";   
    var location = new google.maps.LatLng(berlin.lat, berlin.lng); 
    map.panTo(location) 
    } 

} 
+0

哦,即使在'id'屬性,他們設法弄錯了。我注意到他們正在試圖將該函數綁定到一個'onlick'事件(所以你可能想把它添加到你的答案中) –

+1

是的,你是完全正確的。我會編輯我的回答 – Karim

+0

即使在看了30分鐘後,我也確實沒有看到輸入錯誤,這非常有幫助!現在h3文字改變了,但是地圖仍然不會改變,我是不是必須重新加載頁面或者什麼? – Robin