首页 > 解决方案 > 每 30 秒在 android 谷歌地图上添加/删除标记

问题描述

我正在尝试使用 ScheduledExecutorService 每 30 秒向我的 GoogleMap 添加/删除标记。

ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mapObjects();
            }
        });
    }
}, 0, 30, TimeUnit.SECONDS);

我的地图对象()

private void mapObjects() {
    mMap.clear();
    mapThings();
}

我的地图事物()

private void mapThings() {
    for (MarkerOptions markerOptions : mappedThings.values()) {
        mMap.addMarker(markerOptions);
    }
}

我的 mapObjects() 方法有效,因为我在 onMapReady 的 executor 服务之外运行它,效果很好。但是在计时器中,它不起作用。

标签: androidgoogle-mapsgoogle-maps-markersexecutorservice

解决方案


推荐阅读