Vidéo: Introduction to iOS, by Rhed Shi 2024
L'essence du mapping dans iOS est le MKMapView. C'est une sous-classe de UIView, vous pouvez l'utiliser hors de la boîte pour créer une carte. Vous utilisez cette classe telle quelle pour afficher les informations cartographiques et pour manipuler le contenu de la carte depuis votre application.
Il vous permet de centrer la carte sur une coordonnée donnée, de spécifier la taille de la zone que vous souhaitez afficher et d'annoter la carte avec des informations personnalisées (en devenant un délégué Map View).
Lorsque vous initialisez une vue Carte, vous pouvez spécifier la région initiale pour cette carte à afficher. Pour ce faire, définissez la propriété region . Une région est définie par un point central et une distance horizontale et verticale, appelée span . L'intervalle définit la quantité de carte visible et détermine le niveau de zoom. Plus la portée est petite, plus le zoom est important.
La vue Carte prend en charge ces mouvements de carte standard:
-
Faire défiler
-
Pincer (pour zoomer)
-
Taper deux fois (pour effectuer un zoom avant)
-
Taper deux doigts (pour effectuer un zoom arrière)
De plus, pour les cartes 3D Flyover, vous pouvez utiliser des gestes à deux doigts pour modifier l'angle de vue. Vous pouvez également spécifier le type de carte - régulier, satellite ou hybride - en changeant une seule propriété.
Parce que MapKit. Le framework a été écrit à partir de zéro, il a été développé en tenant compte des limites de l'iPhone (et plus tard de l'iPad). Par conséquent, il optimise les performances sur les appareils iOS en mettant en cache des données, en gérant la mémoire et en gérant de manière transparente les changements de connectivité (comme le passage d'un réseau cellulaire au Wi-Fi, par exemple).
Les données cartographiques elles-mêmes sont hébergées sur le réseau, donc la connectivité réseau est requise.
Bien que vous ne devriez pas sous-classer la classe MKMapView elle-même, vous pouvez personnaliser le comportement d'une vue Map en fournissant un objet délégué. L'objet délégué peut être n'importe quel objet de votre application, à condition qu'il soit conforme au protocole MKMapViewDelegate.