@Override public void updateLocationMarker(Location location) { if (locationChangedListener != null) { currentUserLocation = location; locationChangedListener.onLocationChanged(location); } // Update clickable area LatLng userPosition = getUserLocation(location); if (userPositionClickArea == null) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(userPosition); markerOptions.anchor(0.4f, 0.4f); // strange google maps bug markerOptions.icon(BitmapDescriptorFactory.fromBitmap(clickableBitmap)); userPositionClickArea = googleMap.addMarker(markerOptions); } else { userPositionClickArea.setPosition(userPosition); } if (userPositionClickArea2 == null) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(userPosition); markerOptions.anchor(0.6f, 0.6f); // strange google maps bug markerOptions.icon(BitmapDescriptorFactory.fromBitmap(clickableBitmap)); userPositionClickArea2 = googleMap.addMarker(markerOptions); } else { userPositionClickArea2.setPosition(userPosition); } }
public void updateMarkerLocation(double lat, double lng) { LatLng location = new LatLng(lat, lng); if (marker == null) { markerOptions = new MarkerOptions(); markerOptions.visible(true); markerOptions.position(location); markerOptions.draggable(draggable); marker = googleMap.addMarker(markerOptions); } CameraPosition cameraPosition = new CameraPosition.Builder().target(location).zoom(zoomLevel).bearing(0).tilt(45).build(); googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); marker.setPosition(location); }