2016-01-24 159 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”。