-1

我想知道如何在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'] . ')';
4

1 回答 1

0

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

于 2012-05-22T19:27:10.367 回答