是否有可能立即刷新谷歌地图?

18 浏览
0 Comments

是否有可能立即刷新谷歌地图?

我可以从我的MySQL表中提取这些信息并显示我需要的内容,但我希望能帮助我在每隔约5秒钟刷新一次这些数据,我用的是当前的代码。

没有太多要显示的数据,每次只有5或8个标记。我已经包含了我用于提取数据的当前代码。我对PHP/MySQL有一些了解,但对Google Maps非常陌生。

我尝试添加以下代码以刷新Google地图:

setInterval(function() {
  $.ajax({ url: '/localhost/my/site.php',
    data: {action: 'test'},
    type: 'post',
    success: function(output) {
      alert('hi');
      // 根据新的输出信息更改DOM
    }
  });
}, 5000);

但仍然无法实现。我的代码有什么问题吗?

当MySQL数据库有更新时,是否可以获取新数据?





".$row[2]. "". "Address: $list". "Call Type: $pcond". "Lat: ".$row[5]. "Long: ".$row[6]. "". "&&&".$row[5]."&&&".$row[6]."&&&".$row[8]."&&&".$row[14]; $x = $x + 1; } ?> "; "; ?>

任何帮助将不胜感激。

0
0 Comments

在这些链接中,根据我的理解,建议使用轮询的方式,每隔一段时间向数据库发起请求,以更新标记的信息。还有一篇帖子提到可以在MySQL中使用触发器,你也可以看一下那个方法。鉴于MySQL没有通知机制,对于您的目的,我建议在标记的点击事件中刷新数据,从那里您可以发起数据库调用来刷新标记。这就是我会为了即时更新标记而做的方式。希望对您有所帮助。

以下是关于如何使用轮询每隔一定时间向数据库发起请求以更新标记信息和标记颜色的示例:

// 设置定时器,每隔一段时间向数据库发起请求获取每个标记的数据
Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        // 发起数据库调用来更新每个标记的信息
        // 更新标记的颜色
        // 将这些标记存储在一个数组中
        // 根据数据库中的更新来更新标记的选项
    }
}, 0, X * 1000); // X为轮询的时间间隔,单位为秒
// 标记的点击事件
marker.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker) {
        // 发起数据库调用来刷新标记
        // 更新标记的信息
        return true;
    }
});

希望对您有所帮助。如果您有其他问题,请随时提问。

0