我想知道如何在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'] . ')';
答案 0 :(得分:0)
最简单的解决方案是轮询您的服务器。询问在最后X分钟内创建的条目并添加新条目。