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