2012-06-17 4 views
0

J'espère avoir un moyen simple d'afficher jusqu'à 200 points dans une carte à la fois sans dégradation des performances lorsque l'utilisateur est en zoom arrière et tous sur l'écran.iOS MapKit - cacher les points qui se chevauchent?

Nous avons un ordre de priorité de tirage et les plus importants sont au-dessus des autres. Comment puis-je cacher ceux en dessous jusqu'à ce que l'utilisateur effectue un zoom sur une zone spécifique?

Répondre

1

vous pouvez utiliser ces méthodes de délégués pour déterminer quelle région et le niveau de zoom est montré et montrer points en conséquence ...

– mapView:regionWillChangeAnimated: 
– mapView:regionDidChangeAnimated: 

se réfèrent apple docs pour plus d'info ..

+0

Alors, comment vous calculez quelque chose comme la taille du marqueur en pixels par rapport au niveau de zoom et l'espacement entre les marqueurs pour afficher ou masquer les points supplémentaires? –

+0

référez-vous ... http://stackoverflow.com/a/1167696/919545 –

+0

Donc, fondamentalement, diviser la quantité de distance entre les minimums et les maximums par les dimensions physiques des pixels de la carte pour obtenir la distance par pixel, et calculer si ou pas la taille des marqueurs elle-même entrent en collision avec un autre à proximité en fonction de la latitude et la longitude des marqueurs? –

Questions connexes