Update Marker Position On Google Map Smoothly
I am developing order tracking module in android app, in this module, I implemented one source location marker and destination location marker, source location is fixed, and dest
Solution 1:
This worked for me, Declared finalPosition as global variable and updated in Track_location function.
public void updatePackageLoc(){
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
while(updatelocation) {
Track_Location();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
long elapsed;
float t;
float v;
@Override
public void run() {
// Calculate progress using interpolator
elapsed = SystemClock.uptimeMillis() - start;
t = elapsed / durationInMs;
v = interpolator.getInterpolation(t);
// Log.d("order_track",startPosition.toString()+ " " +finalPosition.toString());
LatLng currentPosition = new LatLng(
startPosition.latitude*(1-t)+finalPosition.latitude*t,
startPosition.longitude*(1-t)+finalPosition.longitude*t);
package_marker.setPosition(currentPosition);
// Repeat till progress is complete.
if (t < 1) {
// Post again 16ms later.
handler.postDelayed(this, 16);
}
}
});
}
}
};
new Thread(runnable).start();
}
Post a Comment for "Update Marker Position On Google Map Smoothly"