Accueil Médias sociaux Comment créer des annotations pour personnaliser votre application iOS Map - mannequins

Comment créer des annotations pour personnaliser votre application iOS Map - mannequins

Vidéo: Utiliser et personnaliser le centre de contrôle sur votre iPhone ou iPad - Assistance Apple 2025

Vidéo: Utiliser et personnaliser le centre de contrôle sur votre iPhone ou iPad - Assistance Apple 2025
Anonim

Tout objet de votre application iOS conforme au protocole MKAnnotation est un objet Annotation; Généralement, les objets d'annotation sont des classes existantes dans le modèle de votre application. Le travail d'un objet Annotation est de connaître son emplacement (coordonnées) sur la carte avec le texte à afficher dans la légende.

Le protocole MKAnnotation requiert une classe qui adopte ce protocole pour implémenter la propriété de coordonnées. Il peut également éventuellement implémenter les propriétés de titre et de sous-titre. Dans ce cas, ce texte sera affiché dans la légende d'annotation lorsque l'utilisateur appuie sur l'annotation.

Les annotations sont requises par le protocole pour que les propriétés soient mises en gras dans le code suivant:

@property (nonatomic, readwrite ) Coordonnée CLLocationCoordinate2D; @property (nonatomic, readwrite, copy ) NSString * titre; @property (nonatomic, readwrite, copy ) Sous-titre NSString *;

C'est tout. Vous avez déjà les propriétés en place et initialisées.

Vous voulez également que vos points d'intérêt soient des annotations.

Vous allez devoir revenir à l'objet pour créer les annotations, mais vous devez d'abord ajouter une classe Annotation au groupe Classes de modèle en procédant comme suit:

  1. Dans le navigateur de projet, sélectionnez le modèle. Classes, puis cliquez avec le bouton droit sur la sélection et choisissez Nouveau fichier dans le menu qui s'affiche ou choisissez Fichier → Nouveau → Fichier dans le menu principal (ou appuyez sur ⌘ + N) pour ouvrir la boîte de dialogue Nouveau fichier.

  2. Dans la colonne de gauche de la boîte de dialogue, sélectionnez Cocoa Touch sous l'en-tête iOS, sélectionnez le modèle Objective-C Class dans le volet supérieur droit, puis cliquez sur Suivant.

    Vous verrez une boîte de dialogue qui vous permettra de choisir les options pour votre fichier.

  3. Entrez l'annotation dans le champ Classe.

  4. Choisissez ou entrez NSObject dans le champ Sous-classe de, puis cliquez sur Suivant.

    Notez que les cases à cocher Cible pour iPad et Avec XIB pour interface utilisateur sont grisées car elles ne sont pas pertinentes ici - Les événements sont dérivés de NSObject et non de tout type de contrôleur de vue.

  5. Dans la feuille Enregistrer qui s'affiche, cliquez sur Créer.

Ensuite, vous devez ajouter le code nécessaire pour une annotation.

Ajoutez le code en gras à Annotation. h.

#import #import @interface Annotation: NSObject @property (nonatomic, readwrite) Coordonnée CLLocationCoordinate2D; @property (nonatomic, readwrite, copy) NSString * titre; @property (nonatomic, readwrite, copy) Sous-titre NSString *; -d

Vous utilisez une classe d'annotation générique pour afficher les points d'intérêt.Au fur et à mesure que vous développez l'application, vous pouvez également inclure plus d'informations sur les points d'intérêt et d'autres informations, et créer une classe PointofInterest.

Alors vous pourriez en faire une sous-classe Annotation. Dans une annotation, vous pouvez également avoir une vue Accessoire de légende droite et gauche, qui s'affiche respectivement sur les côtés droit et gauche de la bulle de légende standard.

La vue Légende est généralement utilisée pour lier des informations plus détaillées sur l'annotation. En outre, vous pouvez lier à quelque chose comme EventController pour afficher des informations sur un PointofInterest. Juste de la nourriture pour la pensée.

#import "Trip.h" #import "Destination.h" #import "Evénements.h" #import "Annotation.h" @interface Trip () @property (fort, non atomique) NSDictionary * destinationData; @property (fort, nonatomic) Destination * destination; @property (fort, nonatomic) Événements * événements; @property (fort, non atomique) NSMutableArray * pois; -d

Vous pouvez maintenant ajouter le code en gras dans la liste 17-11 à initWith DestinationIndex: dans Trip. m. Cela transformera les données de point d'intérêt du plist (les POI) en annotations (d'accord, une seule) et ajoutera la destination sous forme d'annotation pour démarrer.

- (id) initWithDestinationIndex: (int) destinationIndex {self = [super init]); if (self)) {NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "Destinations" deType: @ "plist"]; NSDictionary * destinations = [NSDictionary dictionaryWithContentsOfFile: filePath]; NSArray * destinationsArray = [destinations objectForKey: @ "DestinationData"]; _destinationData = [destinationsArray objectAtIndex: destinationIndex]; _destination = [[Destination alloc] initWithDestinationIndex: destinationIndex]; events = [[Evénement alloc] initWithDestinationIndex: destinationIndex]; NSArray * poiData = self. destinationData [@ "POI"]; _pois = [[NSMutableArray alloc] initWithCapacity: [nombre de poiData] +1]; [_ pois addObject: moi-même. destination]; pour (NSDictionary * aPOI dans poiData) { Annotation * annotation = [[Annotation alloc] init]; Coordonnée CLLocationCoordinate2D; coordonnée. latitude = [aPOI [@ "Latitude"] doubleValue]; coordonnée. longitude = [aPOI [@ "Longitude"] doubleValue]; annotation. coordonnée = coordonnée; annotation. title = aPOI [@ "Titre"]; annotation. sous-titre = aPOI [@ "Sous-titre"]; [moi-même. pois addObject: annotation]; } } return self;}

Comme vous pouvez le voir, vous créez une annotation pour chaque point d'intérêt dans le tableau poiData et l'ajoutez à un tableau que vous créez - un tableau qui contiendra tout les annotations que vous souhaitez afficher sur la carte.

Si vous regardez attentivement, vous pouvez voir que Destination est ajouté au tableau pois. De cette façon, il apparaîtra également sur la carte.

Vous devez ajouter de nouvelles méthodes à l'interface afin que Trip puisse renvoyer les annotations (et un titre de carte). Vous devez également mettre à jour le Tripinterface. Pour ce faire, ajoutez le code en gras à Trip. h.

@interface Trip: NSObject - (UIImage *) destinationImage; - (NSString *) nomDestination; - (CLLocationCoordinate2D) destinationCoordinate; - (id) initWithDestinationIndex: (int) destinationIndex; - (NSString *) temps; - (NSUInteger) numberOfEvents; - (NSString *) getEvent: (NSUInteger) index; - (NSArray *) createAnnotations; - (NSString *) mapTitle; -d

Vous pouvez maintenant ajouter toutes les méthodes de Trip qui seront utilisées par MapController.Commencez par ajouter la méthode createAnnotations à Trip. m.

- (NSArray *) createAnnotations {return self. pois;}

Même si pois est un tableau mutable, vous le renvoyez en tant que tableau de base, car c'est tout ce dont vous avez besoin. MapController n'y ajoutera aucune annotation.

Vous devez également ajouter une méthode pour renvoyer le titre de la carte. Ajoutez la méthode maptitle à Trip. m.

- (NSString *) mapTitle {return self. destination. destinationName;}
Comment créer des annotations pour personnaliser votre application iOS Map - mannequins

Le choix des éditeurs

Les vues du module Notes Outlook - les nuls

Les vues du module Notes Outlook - les nuls

Vous permettent d'ouvrir vos notes une par une et de voir ce qu'il y a dans eux, mais le module Notes d'Outlook offre encore plus d'organisation, de tri et de visualisation. Décidez ce qui a du sens pour vous.

Passer de Windows Outlook à Outlook 2011 pour Mac - dummies

Passer de Windows Outlook à Outlook 2011 pour Mac - dummies

Si vous avez l'habitude de travailler Windows Outlook, mais vous voulez passer à Outlook 2011 pour Mac, ne vous inquiétez pas - Microsoft le rend facile à basculer. Outlook 2011 est la première version d'Outlook à tirer parti du nouveau format d'identité Outlook. Avant de commencer ce processus, notez les paramètres du compte dans ...

Lire Mail dans Outlook dans Office 2011 pour Mac - mannequins

Lire Mail dans Outlook dans Office 2011 pour Mac - mannequins

Pour ouvrir un e-mail, ou message, dans sa propre fenêtre dans Outlook 2011 pour Mac, double-cliquez sur l'objet du message dans la boîte de réception. Cette fenêtre est livrée avec un mini-ruban de message contenant de nombreux contrôles de l'onglet Accueil du ruban. La fenêtre de message Outlook 2011 possède ses propres fonctionnalités: ...

Le choix des éditeurs

Comment travailler avec Progressbar dans CSS3 - les nuls

Comment travailler avec Progressbar dans CSS3 - les nuls

Utilisateurs sont impatients, et parfois un processus prend un moment pour terminer. Une barre de progression permet au développeur CSS3 de tenir l'utilisateur informé de la progression d'une tâche. Les stratégies de programmation modernes tentent d'empêcher l'utilisateur d'attendre en effectuant des tâches plus longues en arrière-plan, mais parfois ...

Joomla! For Dummies Cheat Sheet - Les nuls

Joomla! For Dummies Cheat Sheet - Les nuls

Joomla! vous permet de créer des pages Web interactives sans utiliser de code, en supprimant l'utilisation de balises HTML. Avec Joomla! modules, vous pouvez créer des articles et des éléments de menu, installer des extensions et créer des pages Web engageantes sans vous engager dans l'écriture de code.

Liens vers des fichiers dans vos messages marketing par e-mail - dummies

Liens vers des fichiers dans vos messages marketing par e-mail - dummies

Votre marketing e -mail peut fournir des fichiers joints de toutes sortes, mais les fichiers joints doivent être réservés pour l'envoi de courriels personnels à un petit nombre de personnes à la fois. La plupart des programmes de messagerie et des serveurs de messagerie disposent de paramètres de sécurité qui envoient des e-mails contenant des fichiers joints à un dossier indésirable lorsque le programme suspecte que l'e-mail ...

Le choix des éditeurs

Top Cinq trucs et astuces Photoshop CC pour vous simplifier la vie - les mannequins

Top Cinq trucs et astuces Photoshop CC pour vous simplifier la vie - les mannequins

Sont cinq Photoshop Des techniques de CC qui devraient vous faciliter la vie et rendre votre travail plus rapide et plus professionnel. Ces techniques ont été développées tout en aidant les autres à résoudre des problèmes communs. Changer les couleurs du produit en un clin d'œil Utilisez la fonction Remplacer la couleur (dans le menu Image → Réglages) pour faire rapidement et facilement des variations d'une seule image ...

Utiliser Camera Raw pour préparer une image HDR - des mannequins

Utiliser Camera Raw pour préparer une image HDR - des mannequins

Pour produire une image HDR dans Photoshop CC, vous photographiez habituellement une série d'expositions. Alternativement, et généralement avec des résultats assez bons, vous pouvez changer l'exposition après le fait en utilisant Camera Raw. (Vous voudrez utiliser une image brute, pas une image JPEG, pour cette technique.) Voici comment: Tirer le meilleur ...

Utilisez Photoshop CS5 Path comme sélection - les nuls

Utilisez Photoshop CS5 Path comme sélection - les nuls

Vous pouvez utiliser l'outil Photoshop Creative Suite 5 Pen pour créer des sélections précises qui seraient difficiles à créer en utilisant d'autres méthodes de sélection. L'outil Plume produit des contours nets qui s'impriment bien et peuvent être modifiés à l'aide de l'outil Sélection directe. Utiliser un chemin en tant que sélection est extrêmement utile lorsque vous essayez de ...