私は JavaScript を初めて使用します (2 日しか使っていません!)。私のサイトでやりたいことの 1 つは、ユーザーが Google マップにマーカーを追加できるようにすることです。ここ数日 googlemaps API を読んでいて、チュートリアルの 1 つ ( https://developers.google.com/maps/articles/phpsqlinfo_v3 ) を使用して、必要に応じて編集しました。マーカーの緯度と経度は、javascript を使用して SQL データベースに渡されます。データベースを確認すると、マーカーが追加されていることがわかります。これは素晴らしいことですが、ユーザー側からは成功したかどうかを知る方法がありません。「送信」ボタンをクリックすると、データがデータベースに渡されますが、別のページにリダイレクトするか、成功したというメッセージを表示したいと思います。
コードは次のとおりです。
var marker;
function initialize() {
var latlng = new google.maps.LatLng(37.4419, -122.1419);
var options = {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), options);
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
});
}
function saveData() {
var latlng = marker.getPosition();
var url = "phpsqlinfo_addrow.php?lng=" + latlng.lng() + "&lat=" + latlng.lat();
downloadUrl(url, function(data, responseCode) {
if (responseCode == 200 && data.length <= 1) {
window.navigate('index.html')
}
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
</script>
<link rel="stylesheet" type="text/css" href="style.css"/>
<body onload="initialize()">
<div id="container">
<div id="map_canvas" style="width: 938px; height: 600px">
</div>
</div>
<div id="footer">
<table>
<tr><td><input type='button' value='Save Marker' onclick='saveData()'/></td></tr>
</div>
</body>
</html>
そこから不要なものをいくつか削除しました。問題は「window.navigate」の部分にあるようですが、多くの検索を行ってもそれ以上解決できませんでした。
どんな助けでも大歓迎です!