gpt4 book ai didi

android - 如何从 google map android 上的处理程序更新标记?

转载 作者:行者123 更新时间:2023-11-29 01:19:50 25 4
gpt4 key购买 nike

我正在尝试用这段代码更新 marker:

    // create marker
MarkerOptions marker1 = new MarkerOptions().position(new LatLng(latitude, longitude)).rotation(head);

// Changing marker icon
marker1.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher));

// adding marker
googleMap.addMarker(marker1);
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latitude, longitude)).zoom(17)
.build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

当我在主线程上使用它时它工作正常,但当我从 Handler 调用时它不工作。

最佳答案

是的,您可以使用 handler 更新您的用户界面.创建一个单独的方法来获取和显示 map 上的标记。处理程序允许您发送和处理与线程的 MessageQueue 关联的 Message 和 Runnable 对象。

处理程序有两个主要用途:

  • 安排消息和可运行对象在未来某个时间点执行。
  • 将要在不同于您自己的线程上执行的操作排队。

    Handler UI_HANDLER = new Handler();
    UI_HANDLER.postDelayed(UI_UPDTAE_RUNNABLE, 30000);

下面是 Runnable 方法,可放置在您的 Activity 中的任何位置。

Runnable UI_UPDTAE_RUNNABLE = new Runnable() {

@Override
public void run() {
drawAllMarker();//Method that will get employee location and draw it on map
UI_HANDLER.postDelayed(UI_UPDTAE_RUNNABLE, 30000);
}
};

关于android - 如何从 google map android 上的处理程序更新标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37527267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com