来自Google Map的Java更新标记

时间:2016-05-14 22:12:49

标签: java android google-maps marker

我正在尝试构建一个必须每x秒更新一次标记的应用。好的,我已经完成了。这是我的onCreate方法中的代码:

 h = new Handler();

        h.postDelayed(new Runnable(){
            public void run(){

                atualizaMapa();

                h.postDelayed(this, delay);
            }
        }, delay);

问题是:当我使用谷歌地图并拖动标记或打开infoWindow时,该过程会稍微锁定(我放了x秒)然后我可以拖动标记正常,10秒后它再次锁定...... 10秒后一次又一次锁定......我已经尝试了一切,但没有成功。有人可以帮我解决这个问题吗?

标记在atualizarMapa()上更新,此方法访问我的webservice并获得json响应......

1 个答案:

答案 0 :(得分:0)

使用postDelayed()方法,

  

导致Runnable r被添加到消息队列中,在经过指定的时间后运行。 runnable将在连接此处理程序的线程上运行。时基是uptimeMillis()。深度睡眠所花费的时间会给执行带来额外的延迟。

最重要的是,

  

发布或发送到Handler时,您可以在消息队列准备好后立即允许处理该项目,或者在处理之前指定延迟或者在处理之前指定绝对时间被处理。后两者允许您实现超时,滴答和其他基于时间的行为。

您使用的方法会影响您的应用或消息安排的行为。