Skip to content Skip to sidebar Skip to footer

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"