title: Update marker position on google map smoothly
body: <p>I am developing order <strong>tracking module</strong> in android app, in this module,  I implemented one <strong>source location</strong>  marker and <strong>destination location</strong> marker, source location is fixed, and destination location marker  is keep on changing, whenever the location is changed,But when location was changed, the marker is jumping from one position to another, it is not moving smoothly, 
    Actually I am deleting the prev marker and creating new one at new position,
  is there any way to move marker smoothly or can i update previous marker position ? please help me. </p>
  
  <p>This is code snippet.</p>
  
  <pre><code>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() {
                          @Override
                          public void run() {
                              if (package_marker != null &amp;&amp; package_newlat != 0.0 &amp;&amp; package_newlon != 0.0) {
                                  package_marker.remove();
                                  LatLng position = new LatLng(package_newlat, package_newlon);
                                  googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(position,14f));
                                  package_marker = googleMap.addMarker(new MarkerOptions().position(position).icon(BitmapDescriptorFactory.fromResource(R.drawable.pacage)));
                              }
  
                          }
                      });
  
                  }
              }
          };
          new Thread(runnable).start();
  }
  </code></pre>