在不重新加载UI android的情况下,不断更新朋友的地图标记



我的地图上有朋友的标记。我想在它们移动时更新它们的标记。我通过定时器任务重新加载"UI"来完成这项工作,这可能会激怒用户。但我想在不重新加载"UI"的情况下更新标记,我的意思是,这对用户来说是不可见的。

我是安卓系统的新手,所以请帮助我

制作两个列表,一个包含Markers,另一个包含以下MarkerOptions:

ArrayList<MarkerOptions> markerOptionList = new ArrayList<>();
 ArrayList<Marker> markerList = new ArrayList<>();

当你得到更新的纬度和经度列表时,调用下面的方法:

 public  void  setMarker(GoogleMap map, ArrayList<Double> latitudeList, ArrayList<Double> longitudeList, ArrayList<String> titleList){
        mMap = map;
        for(int j=0;j<markerList.size();j++){
            markerList.get(j).remove();
        }
        markerList.clear();
        markerOptionList.clear();
        for(int i=0;i<latitudeList.size();i++){
            LatLng position = new LatLng(latitudeList.get(i), longitudeList.get(i));
            MarkerOptions options = new MarkerOptions().position(position)
                    .title("" + titleList.get(i))
                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker));
            markerOptionList.add(options);
            Marker marker =  mMap.addMarker(markerOptionList.get(i));
            markerList.add(marker);
        }
    }

这将只更新地图上的标记,而不是再次加载整个地图,这可能会激怒用户。

最新更新