How to disable android map marker click auto center
Asked Answered
B

4

37

I am looking for a way to disable my map fragment's auto centre on selected marker functionality. I still want the markers InfoWindow to show up, but just not centre the entire map on the marker I have selected.

Bowl answered 10/4, 2013 at 12:4 Comment(1)
It is working properly, it is exactly proper solution. [enter link description here][1] [1]: #15925819Bizarre
N
55

Take a look at the following post:

Don't snap to marker after click in android map v2

There is a method given there by @DMan, basically you need to consume the OnMarkerClick event and override the default behavior:

// Since we are consuming the event this is necessary to
// manage closing openned markers before openning new ones
Marker lastOpenned = null;

mMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
    // Check if there is an open info window
    if (lastOpenned != null) {
        // Close the info window
        lastOpenned.hideInfoWindow();

        // Is the marker the same marker that was already open
        if (lastOpenned.equals(marker)) {
            // Nullify the lastOpenned object
            lastOpenned = null;
            // Return so that the info window isn't openned again
            return true;
        } 
    }

    // Open the info window for the marker
    marker.showInfoWindow();
    // Re-assign the last openned such that we can close it later
    lastOpenned = marker;

    // Event was handled by our code do not launch default behaviour.
    return true;
}
});
Nath answered 10/4, 2013 at 12:8 Comment(4)
@Emil Adz,I have used the same logic but still i got map move onMarker Click;Inglorious
@AravinthaBashyam.c if you are returning true at the end on this method then it shouldn't move, and why is the down-vote?Nath
@AravinthaBashyam.c I think you had written setOnMarkerOnclick many times,Cinerator
What do you mean, the answer is perfectly fine and been upvoted by 5 users, if it doesn't work for you then you are doing something wrong, open a new question with your code and I will try to help you.Nath
C
36

Simple way:

  1. Implement setOnMarkerClickListener()
  2. Return 'TRUE' to prevent GoogleMap by default moves the map center to the marker.

Example:

map.setOnMarkerClickListener(
    new OnMarkerClickListener() {
        boolean doNotMoveCameraToCenterMarker = true;
        public boolean onMarkerClick(Marker marker) {
            //Do whatever you need to do here ....
            return doNotMoveCameraToCenterMarker;
        }
    });
Casern answered 29/5, 2013 at 18:48 Comment(0)
S
8

Very Simple:

Use below code for implement setOnMarkerClickListener().

@Override
public boolean onMarkerClick(Marker marker) {

    marker.showInfoWindow(); // show info window

    return true; // can't move map by this
} 
Subedit answered 30/6, 2017 at 8:53 Comment(0)
Z
4

Simple. Add moveOnMarkerPress prop to MapView and set it to false.

 <MapView
      moveOnMarkerPress={false}
>
Zoubek answered 28/6, 2020 at 7:3 Comment(2)
This seems to be for ReactNative, not for the native Android SDKDocumentary
This is for react-native-map and it is working.Wizen

© 2022 - 2024 — McMap. All rights reserved.