Exigence sur iOS pour la carte MapBox. (Je ne parle pas de MKMapView) Comment pouvons-nous détecter si un singleTap a été effectué ou une annotation sur la mapView ? J'ai besoin que le singleTap soit géré uniquement sur une zone vide de la carte (sans broches), et didSelectAnnotation soit appelé lorsque je tape sur une broche.
Mais j'ai trouvé sur Android une méthode comme celle-ci
mapboxMap.setOnMapClickListener(new MapboxMap.OnMapClickListener() {
public void onMapClick(@NonNull LatLng point) {
Toast.makeText(getActivity(),"sur Tap "+point.getLatitude(),Toast.LENGTH_LONG).show();
}
});
et en plus de cela
mapboxMap.setInfoWindowAdapter(new MapboxMap.InfoWindowAdapter() { ... })
affichera l'annotation.
N'avons-nous pas le même genre de concept sur iOS ?
Le véritable problème sur iOS est que, lorsque j'ajoute singleTapGesture
sur mapView de Mapbox
UITapGestureRecognizer *singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.mapView addGestureRecognizer:singleTapGesture];
la méthode déléguée de mapView de mapbox ne sera pas appelée.
- (nullable UIView *)mapView:(MGLMapView *)mapView calloutViewForAnnotation:(id )annotation;
pour garantir que la méthode déléguée soit appelée, alors je n'ai pas à utiliser singleTapGesture
Ici, la situation est soit ceci, soit cela, mais selon moi, j'avais besoin des deux.
En attente de toute solution. Merci,