我有一个存储有数千个(纬度,经度)点的数据库。使用图块服务器将这些点绘制到地图中。这样的图块服务器首先为每个图块计算落在图块内的点,然后绘制每个点(在坐标转换之后)。我的Javascript看起来如下:
var overlayMaps = [{
getTileUrl: function(coord, zoom) {
return "tileserver.php?x="+coord.x+"&y="+coord.y+"&z="+zoom+"&g=1";
},
tileSize: new google.maps.Size(256, 256),
isPng: true,
opacity: 1.0
}];
var overlayMap = new google.maps.ImageMapType(overlayMaps[0]);
map.overlayMapTypes.setAt(0,overlayMap);
现在,我每隔5秒动态地向数据库添加新记录,并且我希望每5秒更新(重新计算并重新显示)相应的切片。
我怎样才能触发我的磁贴服务器每5秒重新计算一次视口的图块?
补充:磁贴每5秒更新一次没有问题,但现在的主要问题是在地图上重新显示它们......
提前致谢...
答案 0 :(得分:1)
瓷砖是图像,你不可能知道这些图片中的哪一个可能会改变。另外,你不能刷新单个瓷砖而是整个视口。你可以做,动态地为你的瓷砖提供服务,每次视口改变或不是瓷砖图像没有缓存,所以它们总是会改变。为此,你可以在你的磁贴网址代码中添加时间标记或随机数字。
"tileserver.php?x="+coord.x+"&y="+coord.y+"&z="+zoom+"&g=1&r=" + Math.random();
最好的问候