My layout
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/pin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@drawable/ic_center_pin" />
</FrameLayout>
Below thing I have tried android How to move a map under a marker
How to attach a flexible marker on map something like Uber and Lyft?
Keep map centered regardless of where you pinch zoom on android
I tried onCameraChangeListener approach,below is the code but experiance is laggy,
private GoogleMap.OnCameraChangeListener cameraChangedListener = new GoogleMap.OnCameraChangeListener() {
private float previousZoomValue = 17;
private CameraUpdate cu;
@Override
public void onCameraChange(CameraPosition cameraPosition) {
if (previousZoomValue == cameraPosition.zoom) {
mLatitude = cameraPosition.target.latitude;
mLongitude = cameraPosition.target.longitude;
cu = CameraUpdateFactory.newLatLng(new LatLng(mLatitude,mLongitude));
} else if (previousZoomValue > cameraPosition.zoom) {
previousZoomValue = cameraPosition.zoom;
mGoogleMap.moveCamera(cu);
} else {
mGoogleMap.moveCamera(cu);
previousZoomValue = cameraPosition.zoom;
}
}
I want when user taps or pinch to zoom map marker should not move , it should stick to map