我剛開始嘗試開發一個網站,如果可以,我想保持html和javascript分離。我試圖在地圖上放置一個標記,將座標放置在文本框中作爲表單的一部分,並在用戶提交表單時將它們發送到數據庫。代碼在html文檔裏面工作,但是當我嘗試分離它時,它不起作用。那麼,地圖仍然顯示出來,我可以在上面設置一個標記,但它不會捕獲座標。無法獲取js函數來加載html
在HTML
<script type="text/javascript" src="mapSubmitSighting.js"></script>
<body onload="initMap()">
,我想在DIV中的頭JS執行
<div id="map">
<div class="map" onclick="initMap();">
<script defer
src="https://maps.googleapis.com/maps/api/js?key==initMap"></script>
</div>
JS文件
!function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: {lat: 54.621277, lng: -6.692649 }
});
google.maps.event.trigger(map, "resize");
map.addListener('click', function(e) {
placeMarkerAndPanTo(e.latLng, map);
});
}
!function placeMarkerAndPanTo(latLng, map) {
var marker = new google.maps.Marker({
position: latLng,
map: map
});
map.panTo(latLng);
document.getElementById("lat").value = latLng.lat();
document.getElementById("lng").value = latLng.lng();
}
我知道有很多不妥這個,但如果我可以制定出如何讓JavaScript工作,這將是一個開始。謝謝!
你正在觸發'initMap'三次? 'body onload =「initMap」''''onclick =「initMap()」''&callback = initMap' – putvande
你確定你有正確的文件名'mapSubmitSighting.js'嗎? –
你爲什麼要用「!」來預置你的函數? – acontell