2009-08-12 6 views
5

J'affiche des icônes (annotations) sur une carte dans mon application en les chargeant dans un NSMutableArray, puis en ajoutant le tableau. Cela fonctionne bien, mais j'ai du mal à les afficher dans l'ordre approprié des calques.Ajout d'annotations à MKMapView dans un ordre de couches spécifique

Parfois, les icônes que j'ai ajoutées à positionIcons apparaissent en dernier; d'autres fois, les plus récents sont indiqués ci-dessous les plus anciens.

Comment puis-je m'assurer de l'ordre des calques?

[positionIcons removeAllObjects]; 
[positionIcons insertObject:<someObject> atIndex:0]; 
[mapView addAnnotations:positionIcons]; 

Répondre

3

Vous aurez probablement à mettre en œuvre -mapView:didAddAnnotationViews: sur votre MKMapViewDelegate puis jouer avec leur commande via leur superview, éventuellement avec des méthodes telles que -bringSubviewToFront:.

+0

Je suis assez ignorant dans c objectif. Le délégué est-il l'endroit où je déclare la vue cartographique? Si vous utilisez bringSubviewToFront, comment distinguer une icône d'une autre (quelles sont les données qui sont transportées à ce moment-là)? Y at-il un moyen de régler l'ordre que je mets des icônes? – BankStrong

+0

Le délégué est l'objet que vous collez dans la propriété 'delegate' de' MKMapView'. Tout dans le tableau passé sera un 'MKAnnotationView' dont la propriété' annotation' est l'annotation que vous avez initialement placée dans le tableau 'positionIcons'. –

1

Peut être this is what que vous cherchez (Comment définir l'ordre de chevauchement MKAnnotationViews)

Questions connexes