私はちょうどウェブサイトを開発しようとしています。できればHTMLとjavascriptを別々にしておきたいと思います。私はマップ上にマーカーを置いて、座標をフォームの一部としてテキストボックスに置き、ユーザーがフォームを送信するときにそれらをデータベースに送るようにしています。コードはすべてHTML文書の中にあるときに機能しますが、それを分離しようとすると機能しません。地図はまだ表示され、マーカーを設定することはできますが、座標を取得することはできません。 HTML私はJSがjs関数をHTMLで読み込むことができません
<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();
}
を実行したいのdiv内
<script type="text/javascript" src="mapSubmitSighting.js"></script>
<body onload="initMap()">
の頭で
私はと間違ったくさんあります知っていますこれは私がちょうどjavascriptを動作させる方法を理解することができれば、それはスタートになるでしょう。ありがとうございました!
あなたは 'initMap'を3回トリガーしていますか? 'body onload =" initMap "、' onclick = "initMap()"および '...&callback = initMap' – putvande
あなたは正しいファイル名' mapSubmitSighting.js'を持っていますか? –
なぜあなたはあなたの関数の前に "!"をつけていますか? – acontell