私はjavascriptを初めて使っています(大丈夫です。私が自分のサイトでやりたいことの一つは、ユーザーがGoogleマップにマーカーを追加できることです。私は最後の数日間googlemaps APIを読んでいて、チュートリアル(https://developers.google.com/maps/articles/phpsqlinfo_v3)の1つを使用して、自分のニーズに合わせて編集しました。マーカーの緯度と経度は、JavaScriptを使用してSQLデータベースに渡されます。私がデータベースをチェックすると、マーカが追加されているのがわかりますが、これは素晴らしいですが、ユーザ側から成功したかどうかを知る方法はありません。 「送信」ボタンをクリックすると、データはデータベースに渡されますが、別のページにリダイレクトしたり、成功したというメッセージを表示したりしたいと思います。googlemapの場所をsqlデータベースに追加した後にjavascriptでリダイレクトする
コードは次のとおりです。
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'の部分にあるようだが、多くの検索ではそれ以上のことはできない。
ご協力いただきましてありがとうございます。
if(mysql_query("INSERT INTO .....")){
//Success
echo 1;
} else{
//Failed
echo 2;
}
そしてそれは同様に正常に追加された場合は、あなたのAJAX呼び出しにあなたがチェックすることができます:あなたは何をすべき
その場合、セミコロンは必要ないと思います。それらは発現ターミネーターではなく、発現セパレーターである。 –
そして最後にそれがうまくいかない場合、if文が実行されていないので、Webブラウザは実際にあなたの望む場所、index.htmlにあなたを案内していません。 他のすべてが失敗した場合に基本的なエラーを修正した後に行うことをお勧めします.Sqlクエリが実際に機能していることを確認することです。 javascriptでif文を実行する前に、データ変数をブラウザに出力して、whats inside ...を見ることができます。if文がif文であるため、data.lengthが1未満かどうかを実際に確認します。さもなければそれがなぜdoesntか知っている実行することを許可した。 – Pavan