mapbox / mapbox/mapbox-plugins-android
AnnotationManager drag event also firing a long-click on the map
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 242
- Forks
- 116
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I'm using the latest 9.6.0 Mapbox SDK and the latest annotation plugin too. I'm creating some circles on my map (using CircleManager) and have setup a drag listener for them. This all works fine, but when dragging a circle it _also_ seems to fire a long-click event on the map as well.
I note that dragging a circle does _not_ fire a regular click event on the map. It only fires a long-click event.
This minimal code example reproduces the issue:
@Override
public void onMapReady(@NonNull final MapboxMap mapboxMap) {
MainActivity.this.mapboxMap = mapboxMap;
mapboxMap.setStyle(
createStyleBuilder(STYLE_DEFAULT),
style -> {
initCircleManager(style);
initMapClicks();
});
}
private void initCircleManager(Style style) {
circleManager = new CircleManager(mapView, mapboxMap, style);
// snip - add a circle here, mark it as draggable
circleManager.addDragListener(new OnCircleDragListener() {
@Override
public void onAnnotationDragStarted(Circle annotation) {
}
@Override
public void onAnnotationDrag(Circle annotation) {
}
@Override
public void onAnnotationDragFinished(Circle annotation) {
System.out.println("Circle dragged to "+annotation.getLatLng());
}
});
}
private void initMapClicks() {
mapboxMap.addOnMapLongClickListener(point -> {
System.out.println("Map long-clicked at "+point);
});
}
This results in the following output:
I/System.out: Circle dragged to LatLng [latitude=51.48172356366564, longitude=0.013026118189969793, altitude=0.0]
I/System.out: Map long-clicked at LatLng [latitude=51.48312269584446, longitude=0.01208949814909488, altitude=0.0]
My expectation is that dragging the circle should not result in any events being fired at the map level.
Am I doing something wrong or is this a bug? I can't find any issue that matches this.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le listener de glissement de CircleManager et le listener d’appui long de mapboxMap dans l’exemple minimal, puis reproduisez l’interaction avec un cercle déplaçable. C’est terminé lorsque le déplacement du cercle signale toujours la fin du déplacement sans déclencher d’événement d’appui long au niveau de la carte, tandis que le comportement d’appui long de la carte signalé reste disponible pour les gestes sur la carte.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, java
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100