目前正在进行车辆跟踪应用程序,我将必须显示汽车在折线上的运动,该折线是从当前位置到目的地设置的,并且在汽车的运动中我将不得不擦除像Uber/Ola这样的坐标.
我现在面临两个问题,即
a>汽车在折线上完美移动但有时汽车在几个坐标处自行旋转可能是由于轴承错误.我该如何处理这个问题?
b>无法理解如何删除汽车已经过的坐标.
我在下面有这个链接在移动时更新折线,但是无法理解我将把代码放在哪里使其工作.
根据移动android googleMaps v2的用户更新折线
我试过的代码.
https://github.com/avik1990/PolylineUpdater
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
List<LatLng> list_coordianates = new ArrayList();
PolylineOptions polyLineOptions = null;
private TimerTask NoticeTimerTask;
private final Handler handler = new Handler();
Timer timer = new Timer();
int index = 0, start_flag = 0;
boolean forward = false;
boolean isMarkerRotating;
Marker mMarker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) …Run Code Online (Sandbox Code Playgroud) 我需要更新从服务器端发布的Firebase 数据中的几个节点。需要将节点“ is_done”从设备端更新为0/1。我尝试了不同的解决方案,但都变得徒劳无益,即它添加了不同的解决方案“计划”节点之外的节点。
我尝试过的代码片段
private void updatemultiplefirebasedata() {
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
final DatabaseReference reference = firebaseDatabase.getReference();
Query query = reference.child("schedule").child("22-12-2017").child("route").child("1").child("kid").child("21");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for(DataSnapshot d : dataSnapshot.getChildren()) {
Log.d("Keys",String.valueOf(d.getKey())); //returning all the keys
HashMap<String, Object> result = new HashMap<>();
result.put("is_done", "0");
reference.child(String.valueOf(d.getKey())).updateChildren(result); //update according to keys
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Run Code Online (Sandbox Code Playgroud)