java - x 秒后更新标记

标签 java android google-maps google-maps-markers

我正在开发一个 Android 应用程序,并且我在其中一项 Activity 上有一个谷歌地图。 map 包含一个标记,标记的坐标将每 10 秒更新一次。坐标将从服务器获得。 问题:如何更新 map 上标记的位置?

这是我的mapsActivity.java 的样子:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

private String lat = "-25.4316562";
private String lon = "50.6602371";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

}

public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    LatLng sydney = new LatLng(-100, 35);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker on the drone"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    CameraUpdate zoom=CameraUpdateFactory.zoomTo(17);
    mMap.animateCamera(zoom);
}

我有 2 个函数,可以通过向服务器发送 SSH 命令来更新全局变量 lat 和 lon:

new getXCoordinates().execute();
new getYCoordinates().execute();

我尝试调用一个函数来更新 OnCreate 函数中的坐标和标记,但这不起作用。 我不知道如何在 10 秒后重复调用函数来更新标记。

最佳答案

你可以使用这样的东西:

Handler h = new Handler();
int delay = 10 * 1000;

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

        // This portion of code runs each 10s.

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

添加您应该使用的标记

yourMarker = googleMap.addMarker(new MarkerOptions().position(latlng))

并更新使用

yourMarker.setPosition(latlng);

这里的关键是保留创建的标记的实例,以便您可以随意更改其位置。

关于java - x 秒后更新标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951197/

相关文章:

java - 出生报告文件路径

google-maps - 谷歌地图 : scroll map programmatically of x pixels

javascript - 如果给出了国家名称,则自动归档城市名称

java - org/apache/poi/ss/usermodel/Sheet 的 NoClassDefFoundError Jar 错误

java - SE EE Netbeans 兼容性

java - 如何为每个 GridView 项目赋予不同的背景颜色?

android - 从谷歌图片搜索中获取一张图片,在android中搜索一个单词

android - 从相机捕获失败

java - 我应该能够在 Eclipse 图形布局中看到 android 滚动条吗?

javascript - 在谷歌地图中编辑并保存更新的多边形坐标