2016-01-24 67 views
1

當我打開頁面時,javascript在點擊按鈕之前運行。當我點擊按鈕時它也會運行。我不希望它運行,直到我點擊按鈕。Javaclick點擊按鈕之前運行

代碼:

function initMap() { 
 
    var map = new google.maps.Map(document.getElementById('map'), { 
 
    center: {lat: 45.973, lng: -68.81}, 
 
    zoom: 10 
 
    }); 
 
}
html, body { 
 
height: 100%; 
 
margin: 0; 
 
padding: 0; 
 
} 
 

 
#map { 
 
height: 50%; 
 
}
<div id="map"></div> 
 
    <button id="showLocation" onclick="initMap()">Show Location</button> 
 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDTUe6NaV7fwxOOESwnEdq3YcT9Y2Wr8lg&callback=initMap" 
 
      async defer></script>

在此先感謝!

回答

2

將您的的initMap()重命名爲某個其他名稱。 Google Maps API在回調初始化時調用此函數名稱。

8

您正在將initMap作爲回調傳遞給'api/js'。這意味着當腳本加載時它將運行回調方法,即執行initMap

嘗試從URL中刪除&callback=initMap

+0

作品!謝謝 – gogogo

2

從最後一行的script-src-tag中刪除「& callback = initMap」。