Je cherche à comprendre comment je peux répliquer la fonctionnalité de localisation actuelle qui existe dans Maps sur Android (et iPhone) en utilisant la bibliothèque externe de Google Maps. La façon dont la fonction fonctionne dans Maps est que lorsque vous appuyez sur le bouton, elle commence à effectuer un panoramique avec votre position jusqu'à ce que vous touchiez (et/ou bougiez) la carte. En utilisant ce qui suit, j'ai pu obtenir que mon application conserve l'emplacement actuel sur l'écran mais ne conserve pas l'emplacement actuel au centre de l'écran (elle se déplace lorsque l'emplacement s'approche du bord de l'écran alors que Maps le conserve dans centre tout le temps):Réplication des cartes Suivez la fonctionnalité de localisation actuelle dans Android
butMapCurrentLocation.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
runOnUiThread(new Runnable() {
public void run() {
mapController.animateTo(myLocationOverlay.getMyLocation());
}
});
}
});
J'ai aussi essayé setCenter
plutôt que animateTo
et ils semblent avoir le même effet.
De plus, il est important de noter que je dois être en mesure d'arrêter cette fonction qui maintient l'emplacement au centre (comme lorsqu'un autre bouton est enfoncé ou que la carte est touchée). Le Runnable ci-dessus ne s'arrête pas tout de suite et je ne peux pas l'arrêter correctement lorsqu'on le demande même en utilisant .cancel comme discuté ici: Android: How do I stop Runnable?
À noter également, une fois que j'arrêterai la carte de panning je veux toujours qu'il montre à l'utilisateur leur emplacement s'ils regardent cette partie de la carte. – bbodenmiller