Você parece estar no caminho certo.
Seu script php deve aceitar um parâmetro de timestamp e deve verificar se novos pontos foram inseridos no banco de dados após esse timestamp. Se sim, ele deve retornar uma resposta com a entrada mais recente (ou uma lista de entradas após esse carimbo de data/hora, se você quiser mostrar uma trilha ao vivo à medida que o veículo se move).
No lado do cliente, você pode querer iniciar uma solicitação AJAX para o script do lado do servidor, usando normal ou pesquisa longa , com o parâmetro timestamp da última atualização.
Quando sua solicitação AJAX recebe novas informações do servidor, você simplesmente move seus marcadores no mapa. Em seguida, inicie uma nova solicitação AJAX com o parâmetro timestamp atualizado.
Exemplo de pseudocódigo usando 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);
}
});
}