2011-11-17 88 views
0

我正在开发Google地图应用程序,经纬度来自外部设备并每隔五秒存储到数据库中。从Google地图每五秒钟向Google地图提取数据

因此,我必须每隔5秒查询一次数据库,并获取数据库的新纬度和经度,并根据此标记移动标记。

它是如何做到的?写ajax电话好吗?

+0

这里有问题吗? –

+2

你想要这样做的语言先生?是否在最后期限?有没有其他要求? – Baz1nga

+0

@MechSoftware他希望我们给整个soln我猜.. – Baz1nga

回答

0

这里是拉的数据每隔几秒钟replots标记的例子:http://www.robotwoods.com/dev/so_septa.html

这里的PHP它调用:

<?php 
$route=(isset($_REQUEST['route']))?$_REQUEST['route']:23; 
echo file_get_contents("http://www3.septa.org/transitview/bus_route_data/".$route); 
?> 
0

我会引导你在正确的道路。我想我可以做到这一点:

a)你可以有一个函数,使用ajax(检出一个类似jquery的库)以及函数的回调函数处理响应的间隔查询你的服务器。

B)您的服务器将发送到服务器的响应在理想情况下这将是形式

{ 
id:<>, 
lat: 
lng: 
} 

c)通过google maps api走的JSON响应,就看你如何删除标记等,你大概可以维持在一个关联数组状的标记的标记的散列[键]其中键将标记的标识符,如果和当标记更新可以使用该关联数组以除去标记为:

markers[id].setMap(null); 

代码以添加回调中的标记:

var options = { 
      position: new google.maps.LatLng(lat, lng);, 
      icon: image, 
      zIndex: zIndex, 

     }; 
options.map=map; 
var marker = new google.maps.Marker(options); //construct marker 
markers[key] = marker; //store the marker in array 
+0

谢谢你,这就是我想要的! –

+0

你可以加上投票/标记为答案.. – Baz1nga