如何在插入数据库时​​从数据库中检索最后的结果

时间:2012-05-22 19:08:28

标签: php javascript mysql google-maps gps

我想知道如何在javascript中制作某种类型的事件,这些事件会在插入新数据时被触发?

我需要这个,所以我可以在谷歌地图中使用实时跟踪。

例如,这是我在地理位置页面上找到的代码:

function scrollMap(position) 
{
// Scrolls the map so that it is centered at (position.coords.latitude,position.coords.longitude).
}
// Request repeated updates.
var watchId = navigator.geolocation.watchPosition(scrollMap);

 function buttonClickHandler() 
 {
 // Cancel the updates when the user clicks a button. 
 //I want to put my code in here so for example when I click button live tracking starts.

   navigator.geolocation.clearWatch(watchId);
 }

这是我用来检索数据数组的代码:

function initialize() {
  var myLatLng = new google.maps.LatLng(0, 180);
  var myOptions = {
    zoom: 3,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  };

  var map = new google.maps.Map(document.getElementById("map_canvas"),
      myOptions);
  var flightPlanCoordinates = [<?php echo implode(',', $coordinates) ?>];
  var flightPath = new google.maps.Polyline({
    path: flightPlanCoordinates,
    strokeColor: "#FF0000",
    strokeOpacity: 1.0,
    strokeWeight: 2
  });

  flightPath.setMap(map);
}

如何让我的代码工作并在每次插入数据库时​​获得最后一个结果?并在我的问题开头提供的谷歌代码中将其显示在地图上。

数据库是mysql,它有ID,纬度和经度。

编辑:

这是我的PHP代码,它从数据库中提取所有数据并将它们放入谷歌地图的数组中:

$coordinates  = array();
$result = dbMySql::Exec('SELECT Latitude,Longitude FROM data');
while ($row = mysqli_fetch_assoc($result))
   $coordinates[] = 'new google.maps.LatLng(' . $row['Latitude'] . ', ' . $row['Longitude'] . ')';

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是轮询您的服务器。询问在最后X分钟内创建的条目并添加新条目。