我对javascript很陌生(好吧,我只花了两天时间使用它!)。我想在我的网站上做的一件事是允许用户向谷歌地图添加标记。过去几天我一直在阅读 googlemaps API,并使用了其中一个教程(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”部分,但大量搜索并没有让我更进一步。
任何帮助表示赞赏!