2015-08-14 1 views
0

J'utilise donc Google Maps dans mon application et je personnalise l'événement onMarkerClick pour afficher un bouton.Détecter lorsqu'un utilisateur clique sur un marqueur

Est-il possible de détecter lorsqu'un utilisateur clique sur "off" du marqueur, par ex. en tapant sur la carte elle-même, ou en défilant peut-être? Tout ce qui signifie que le marqueur perd le focus.

Répondre

3

il y a un peu d'écoute sur la carte, vous pouvez utiliser: https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap

vous pouvez voir:

Interface

GoogleMap.OnCameraChangeListener Définit les signatures des méthodes qui sont appelées lorsque la caméra change de position.

interface GoogleMap.OnMapClickListener Interface de rappel lorsque l'utilisateur tape sur la carte.

interface GoogleMap.OnMapLongClickListener Interface de rappel lorsque l'utilisateur appuie longuement sur la carte.

interface GoogleMap.OnMyLocationButtonClickListener Interface de rappel lorsque vous cliquez sur le bouton Ma position.

Tout cela peut vous aider. Je n'utilise généralement que sur mapClickListener pour ce genre de cas d'utilisation

+0

Ah OK, donc pas d'événement distinct "désélectionner"? Pas de biggy :) Je pense que l'événement de changement de caméra pourrait être utile ici. –

+0

Oui, car en réalité il n'y a pas d'événement 'select', mais seulement 'onclick' –

0

Dans mon cas, lorsque l'utilisateur clique sur le marqueur, la fenêtre Info correspondante apparaît. Ainsi, lorsque l'utilisateur clique sur la carte en dehors du marqueur, la fenêtre d'informations se ferme et cet événement est détecté par la carte. Ceci n'est utile que lorsque le marqueur possède une fenêtre d'information.

// Detect when Marker's Info Window is closed 
    googleMap.setOnInfoWindowCloseListener(new GoogleMap.OnInfoWindowCloseListener() { 
     @Override 
     public void onInfoWindowClose(Marker marker) { 
      // Do whatever you want to do here... 
     } 
    });