2010-10-17 37 views
6

Je fais une application iPhone qui est conçue pour des choses qui seront locales au Missouri seulement. Donc mon idée est de limiter la carte à Missouri/régions proches du Missouri. J'ai la carte fonctionne bien, affichant l'emplacement de l'utilisateur, et si elles mettent à jour l'emplacement alors la broche se déplacera également. Puis-je utiliser quelque chose comme une annotation personnalisée pour le faire? Ou puis-je vérifier l'emplacement de l'utilisateur et décider si c'est avec un certain lat, long et afficher la carte en fonction de cela?iPhone MapView limitant à l'état du Missouri seulement

Je travaille dans xCode tout en faisant ce projet.

+0

L'application que nous faisons est pour les marchés de producteurs dans le Missouri, et seulement basé sur l'information sur les marchés du Missouri. Par conséquent, si vous êtes dans l'Illinois, il suffit de regarder une carte de l'Illinois. C'est une chose facile à utiliser, vous ne voulez pas avoir à chercher autour de la carte et commencer à zoomer avant et arrière pour avoir à trouver les marchés des agriculteurs dans le Missouri seulement. – Matt

+0

Je ne suis pas tout à fait sûr de ce que vous essayez de faire ici ou de ce que vous travaillez actuellement. L'objectif est-il d'empêcher l'utilisateur de défiler à l'extérieur du Missouri? Si c'est le cas, cela n'a rien à voir avec les annotations. Pouvez-vous préciser ce que vous voulez faire avec une annotation personnalisée? – matheeeny

+0

Matt - Je n'étais pas sérieux - Je faisais juste une blague en Illinoisan - on se moque toujours du Missouri et de l'Indiana, c'est tout - mon commentaire n'ajoute aucune valeur à ta question :) – makdad

Répondre

1

Jetez un coup d'œil au protocole MKMapViewDelegate. Il existe des méthodes qui vous informeront lorsque l'emplacement de l'utilisateur a changé et lorsque la carte a été déplacée. Vous pouvez ensuite faire ce qui est approprié en fonction de l'emplacement de l'utilisateur.

1

Définissez la zone exacte que vous souhaitez afficher sur votre carte, en utilisant les propriétés MKMapView'sregion et centerCoordinate. Ensuite, désactivez le défilement et le zoom en utilisant zoomEnabled et scrollEnabled de la même classe.

+1

J'ai fini par faire quelque chose de similaire. Le problème est que si vous voulez zoomer (les iPhones ne sont pas très grands et le Missouri est assez grand sur la carte) que vous ne pouvez pas. Ce que j'ai fini par faire était presque comme dessiner une boîte autour du Missouri avec les points de latitude et de longitude et vérifier la coordonnée de l'emplacement de l'utilisateur de MKMapView pour voir s'ils étaient dedans. Sinon centrez la carte à Columbia, MO. – Matt