Có vẻ như bạn đang đi đúng hướng.
Tập lệnh php của bạn phải chấp nhận một tham số dấu thời gian và nên kiểm tra xem các điểm mới đã được chèn vào cơ sở dữ liệu sau dấu thời gian đó chưa. Nếu có, nó sẽ trả về phản hồi với mục nhập mới nhất (hoặc danh sách các mục nhập sau dấu thời gian đó, nếu bạn muốn hiển thị đường trực tiếp khi xe di chuyển).
Ở phía máy khách, bạn có thể muốn bắt đầu một yêu cầu AJAX tới tập lệnh phía máy chủ, bằng cách sử dụng bình thường hoặc bỏ phiếu dài , với tham số dấu thời gian của lần cập nhật cuối cùng.
Khi yêu cầu AJAX của bạn nhận được thông tin mới từ máy chủ, bạn chỉ cần di chuyển các điểm đánh dấu của mình trên bản đồ. Sau đó, bắt đầu một yêu cầu AJAX mới với thông số dấu thời gian được cập nhật.
Ví dụ về Pseudocode-ish sử dụng jQuery :
var lastUpdate = '2000/01/01 00:00:00';
function autoUpdate () {
$.ajax({
type: "GET",
url: "phpsqlajax_genxml.php?last_update=" + lastUpdate,
dataType: 'xml',
success: function(xmlData) {
// 1. Check if the xmlData is empty. If not we received
// some fresh data.
// 2. Update lastUpdate from the xmlData with the timestamp from
// the server. Don't use JavaScript to update the timestamp,
// because the time on the client and on the server will
// never be exactly in sync.
// 3. Move the markers on Google Map.
// Relaunch the autoUpdate() function in 5 seconds.
setTimeout(autoUpdate, 5000);
}
});
}