How can I move marker to current Location
I am already experienced with two fixed geo locations
Here is what I used:
private void autoAnimateMarker() {
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mMap.getUiSettings().setZoomControlsEnabled(true);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
mMap.setMyLocationEnabled(true);
LatLng fromLocation = new LatLng(-33.904438, 151.249852);
LatLng toLocation = new LatLng(-33.905823, 151.252422);
Marker marker = mMap.addMarker(new MarkerOptions().position(fromLocation));
MarkerAnimation.animateMarkerToICS(marker, toLocation, new LatLngInterpolator.Spherical());
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(fromLocation, 17F));
}
Then calling it within onMapReady(...)
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
autoAnimateMarker();
}
TO SHOW CURRENT LOCATION
I have already gone through - https://stackoverflow.com/a/34582595/3585072
Currently onLocationChanged(Location location) method looks like this, what I need to put here, to dynamically move my marker based on Location change:
@Override
public void onLocationChanged(Location location)
{
Toast.makeText(this, "Location Changed " + location.getLatitude()
+ location.getLongitude(), Toast.LENGTH_LONG).show();
mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}
//Place current location marker
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Position");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
mCurrLocationMarker = mGoogleMap.addMarker(markerOptions);
//move map camera
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,11));
}