我有一个这样的代码:
<html>
<head>
<meta charset="utf-8">
<title>GPS Tracker</title>
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="view/style.css">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function show_maps()
{
var div_peta = document.getElementById('kanvas');
var tengah = new google.maps.LatLng(-8.801502,115.174794);
var options =
{
center : tengah,
zoom : 14,
mapTypeId : google.maps.MapTypeId.ROADMAP
}
//make map object
var google_map = new google.maps.Map(div_peta,options);
}
</script>
</head>
<body OnLoad="show_maps();">
</div>
<div class="container">
<div class="row">
<div class="col-md-4"><div class="panel panel-default panel-body">
<p><b><h4>Tracking</h4></b><hr>
<form method="GET" action="../controller/location.php">
<p><input class="btn btn-primary" type="submit" value="get location" style="width:280px"></a></p>
</form>
</div>
</div>
<div class="col-md-8">
<div class="panel panel-default panel-body" style="height:490px">
<div id="kanvas"> kanvas peta</div>
</div>
</div>
</div>
</div>
我想做一个GPS跟踪系统。获取位置的方法是通过短信。一旦点击"获取位置"按钮,询问位置的短信就会发送。所以,我需要刷新地图每秒钟,直到GPS跟踪器回复短信。这样我就可以用这些数据在谷歌地图上做一个标记。我不想刷新整个页面。我只想刷新一下谷歌地图。setTimeout有办法吗?谢谢你…
您可以试试下面的代码
var i = setInterval(show_maps, 1000);
如果你想停止间隔
clearInterval(i);
Demo
可以使用下面的结构。你的地图每5秒重新加载一次;
var mapsLoaded = false;
window.mapsCallback = function(){
mapsLoaded = true;
setInterval(function(){
$(window).trigger('mapsLoaded');
}, 5000);
}
window.loadMaps = function(){
if(mapsLoaded) return window.mapsCallback();
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://maps.google.com/maps/api/js?sensor=false&callback=mapsCallback");
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
}
$(document).ready(function(){
function initialize(){
var mapOptions = {
zoom: 14,
center: new google.maps.LatLng(47.3239, 5.0428),
mapTypeId: google.maps.MapTypeId.ROADMAP};
map = new google.maps.Map(document.getElementById('kanvas'),mapOptions);
}
$(window).bind('mapsLoaded', initialize);
window.loadMaps();
});