2009-08-24 14 views
1

Contexte: J'ai créé une application qui permet aux utilisateurs de soumettre une entrée à une base de données en ligne et d'afficher d'autres entrées de cette base de données. Ces entrées contiennent des géocodes pour la latitude et la longitude qui sont utilisés pour positionner les annotations sur MapKit. Les utilisateurs peuvent soumettre l'emplacement en utilisant leur emplacement actuel ou une adresse, qui est ensuite géocodée.iPhone 3.0 MapKit - Annotations multiples dans le même emplacement

Question: Quelle est la méthode appropriée ou suggérée pour gérer les annotations qui correspondent exactement aux mêmes coordonnées?

Je pensais vérifier s'il y avait des géocodes en double dans le fichier XML extrait de la base de données et créer une seule annotation avec un annotationView personnalisé qui affiche tous les séparés. En outre, je pensais vérifier les doublons et afficher "Entrées multiples ..." et avoir la vue détaillée afficher une vue de table avec toutes les entrées.

Suis-je sur la bonne voie?

Répondre

2

Je pense que vous êtes sur la bonne voie, vous devriez vérifier les géocodes en double et les fusionner en un seul. L'affichage de nombreuses annotations avec le même emplacement peut être déroutant car les broches s'empileront les unes sur les autres et seront difficiles à différencier et à cliquer une par une.

+0

Décidément, les géocodes en double provoquent déjà l'empilement des broches. Mais est-il préférable de créer une vue d'annotation personnalisée ou une vue de table avec toutes les valeurs? Appréciez l'aide! – JonLim

+0

Ouais je pense que ce serait ok, en fait pourrait aussi bien paraître avec toutes les informations sur ce code géographique – Daniel

1

Parlez-vous exact même géocode ou un peu près? Parce que si c'est exact, alors vous êtes sur la bonne voie, mais si c'est +/- delta-T, alors vous devrez peut-être trouver une autre façon de les manipuler, puisqu'en zoomant, chaque emplacement pourrait être distinct . Un moyen facile de l'attraper consiste à laisser tomber ou à arrondir les points décimaux dans la valeur lat/long en fonction du facteur de zoom avant de vérifier l'égalité des coordonnées.

À part cela, il semble que vous soyez sur la bonne voie. Vous voudrez probablement faire la vue d'annotation personnalisée (mais cela ne fonctionnerait que pour quelques éléments) avec l'option de passer à une vue de table séparée s'il y a plus d'éléments à afficher.

Une autre chose que j'ajouterais, c'est que vous pourriez faire en sorte que votre repère affiche le nombre d'éléments qui co-résident dans cet emplacement. Vous pouvez le faire en collant une étiquette de texte en haut de votre vue de repère personnalisé et en y mettant le numéro ou en ayant des icônes pré-rendues avec say, 1-9 et "..." (pour plus que cela) dans les têtes des marqueurs. De cette façon, l'utilisateur peut rapidement voir qu'il y a plus d'éléments à rechercher.