Accueil Médias sociaux Comment afficher la région de l'utilisateur sur une carte dans votre application iOS - les nuls

Comment afficher la région de l'utilisateur sur une carte dans votre application iOS - les nuls

Vidéo: Débloquer toute les applications Google Play dans les DOM-TOM [VPN] 2025

Vidéo: Débloquer toute les applications Google Play dans les DOM-TOM [VPN] 2025
Anonim

Et si vous voulez que votre application iOS affiche la position de votre utilisateur par rapport à l'endroit où il se trouve? Idéalement, quand vous arrivez à New York (ou ailleurs), vous devriez voir une carte qui se concentre sur l'endroit où vous êtes plutôt que sur l'ensemble des États-Unis. D'abord, vous devez regarder comment vous centrez la carte. Pour ce faire, vous devez ajouter la déclaration de méthode setInitialRegion à MapController. m.

Commencez par mettre à jour l'extension de classe en ajoutant le code en gras dans l'extrait 17-3 à l'extension de classe dans MapController. m.

@interface MapController () @property (faible, non atomique) IBOutlet MKMapView * mapView; - (IBAction) mapType: (id) expéditeur; - (void) setInitialRegion; -d

Parce que le contrôleur de carte obtiendra ses données de l'objet, comme il se doit, vous devez mettre à jour l'implémentation pour importer la classe aussi. Ajoutez le code en gras à MapController. m.

#import "MapController.h" #import "AppDelegate.h" #import "Trip.h"

Enfin, ajoutez la méthode setInitialRegion à MapController. m.

- (void) setInitialRegion {AppDelegate * appDelegate = [[délégué UIApplication sharedApplication]]; MKCoordinateRegion région; CLLocationCoordinate2D initialCoordinate = [appDelegate. destination du voyageCoordinate]; Région. centre. latitude = initialCoordinate. latitude; Région. centre. longitude = initialeCoordinate. longitude; Région. envergure. latitudeDelta =. 05; Région. envergure. longitudeDelta =. 05; [soi. mapView setRegion: region animated: NO];}

Vous devez ensuite mettre à jour viewDidLoad pour utiliser cette méthode. Ajoutez le code en gras dans l'extrait 17-6 à viewDidLoad dans MapController. m pour envoyer ce message.

- (void) viewDidLoad {[super viewDidLoad]; soi. vue de la carte. déléguer = soi-même; soi. vue de la carte. showsUserLocation = YES; [self setInitialRegion]; }

Si vous l'exécutez maintenant, vous ne voyez pas les annotations … du moins pas encore.

Le réglage de la région permet de centrer la carte et de régler le niveau de zoom. Vous accomplissez tout cela avec l'énoncé suivant:

[self. mapView setRegion: région animée: NO];

Une région est une propriété de vue cartographique qui spécifie quatre éléments d'information:

  • région. centre. latitude: Spécifie la latitude du centre de la carte.

  • région. centre. longitude: spécifie la longitude du centre de la carte.

    Par exemple, le centre de la carte serait New York si vous deviez définir ces valeurs comme région

    . centre. latitude = 40. 712756; Région. centre. longitude = -74. 006047;
    
  • région. envergure. latitudeDelta: Spécifie la distance nord-sud (en degrés latitudinaux) à afficher sur la carte.Un degré de latitude est d'environ 111 kilomètres (69 milles). Une région. envergure. latitudeDelta de 0, 0036 indiquerait une distance nord-sud sur la carte d'environ un quart de mille. Les latitudes au nord de l'équateur ont des valeurs positives, alors que les latitudes au sud de l'équateur ont des valeurs négatives.

  • région. envergure. longiudeDelta: Spécifie la distance est-ouest (en degrés longitudinaux) à afficher sur la carte. Malheureusement, le nombre de miles dans un degré de longitude varie en fonction de la latitude. Par exemple, un degré de longitude est d'environ 69 miles à l'équateur, mais rétrécit à 0 miles aux pôles.

    Les longitudes à l'est du méridien zéro (selon la convention internationale, le méridien zéro ou premier passe par l'observatoire royal de Greenwich à l'est de Londres) ont des valeurs positives et les longitudes à l'ouest du méridien zéro ont des valeurs négatives.

Bien que les valeurs de portée fournissent une valeur de zoom implicite pour la carte, la région réelle affichée peut ne pas correspondre à l'étendue que vous spécifiez car la carte ira au niveau de zoom le mieux adapté à la région ensemble.

Cela signifie également que même si vous changez simplement les coordonnées du centre sur la carte, le niveau de zoom peut changer car les distances représentées par une portée particulière peuvent changer à différentes latitudes et longitudes. Pour tenir compte de cela, ces développeurs intelligents chez Apple incluaient une propriété que vous pouvez définir qui change la coordonnée centrale sans changer le niveau de zoom:

@property (non atomic) CLLocationCoordinate2D centerCoordinate

Lorsque vous changez la valeur de cette propriété avec un nouveau CLLocationCoordinate2D, la carte est centrée sur la nouvelle coordonnée et les valeurs d'échelle sont mises à jour pour maintenir le niveau de zoom actuel.

Ce type de CLLocationCoordinate2D est quelque chose que vous utiliserez beaucoup. Le type CLLocationCoordinate2D est une structure qui contient une coordonnée géographique utilisant le référentiel WGS 84 (le système de coordonnées de référence utilisé par le système de positionnement global):

typedef struct {CLLocationDegrees latitude; CLLocationDegrees longitude;} CLLocationCoordinate2D;

Voici une petite explication:

  • latitude: La latitude en degrés. C'est la valeur que vous avez définie dans le code que vous venez d'entrer (région, centre, latitude = latitude; Les valeurs positives indiquent les latitudes au nord de l'équateur. Les valeurs négatives indiquent les latitudes au sud de l'équateur.

  • longitude: La longitude en degrés. C'est la valeur que vous avez définie dans le code que vous venez d'entrer (région, centre, longitude = longitude). Les mesures sont relatives au méridien zéro, avec des valeurs positives s'étendant à l'est du méridien et des valeurs négatives s'étendant à l'ouest du méridien.

CLLocationDegrees représente une valeur de latitude ou de longitude spécifiée en degrés et est un double.

Pour centrer l'affichage de la carte sur New York, vous envoyez le message setInitialRegion (le code que vous venez de saisir) lorsque la vue est chargée dans la méthode viewDidLoad:.

Comment afficher la région de l'utilisateur sur une carte dans votre application iOS - les nuls

Le choix des éditeurs

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Grande question est toujours sur la sécurité. Comment pouvez-vous repérer les failles de sécurité hébergées sur le Web pour protéger votre site et garantir qu'il ne sera pas piraté? La réponse courte est la suivante: Vous ne pouvez pas. Tout est piratable avec suffisamment de temps, des cerveaux sournois et des ressources. Cependant, il y a des choses que vous pouvez faire pour vous protéger un peu. ...

Comment utiliser MySQL Workbench pour votre site Web - dummies

Comment utiliser MySQL Workbench pour votre site Web - dummies

Bien que phpMyAdmin et d'autres outils d'hébergement Web Pour gérer les bases de données, il est possible que vous ayez besoin de quelque chose de plus puissant. MySQL Workbench est une bonne source dans cette instance. MySQL Workbench est un outil de conception et d'administration de base de données gratuit créé par Oracle qui réunit deux produits: MySQL Query Browser et MySQL ...

Le choix des éditeurs

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Sur un cercle - c'est-à-dire texte suivant l'extérieur d'un cercle ou ovale - est un élément de conception commun dans les mises en page. C'est vraiment facile à faire dans QuarkXPress, mais ce n'est pas du tout évident comment. Procédez comme suit: Obtenez l'outil Ovale de la palette Outils et dessinez ...

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

Deux types d'échanges de bitcoins sont utilisés : peer-to-peer et régulier. D'une part, il y a les échanges de bitcoins réguliers, qui utilisent un carnet de commandes pour faire correspondre les ordres d'achat et de vente entre les personnes. Cependant, ni l'acheteur ni le vendeur n'ont la moindre idée de l'identité de l'autre partie, ce qui permet à tous les utilisateurs ...

L'interface d'application QuarkXPress - les nuls

L'interface d'application QuarkXPress - les nuls

Les palettes visibles à gauche, à droite et en bas de QuarkXPress sont flottantes - vous pouvez les faire glisser n'importe où qui vous convient. Contrairement aux palettes, les menus de la barre de menu sont collés: vous devez toujours passer la souris à la barre de menu pour y accéder. Cependant, ...

Le choix des éditeurs

Sept erreurs d'optimisation de moteur de recherche - nuls

Sept erreurs d'optimisation de moteur de recherche - nuls

Lorsque vous essayez d'obtenir votre site Web, c'est facile de faire des erreurs d'optimisation de moteur de recherche. Voici quelques-unes des erreurs de référencement les plus courantes. Vous ne connaissez pas vos mots-clés C'est également un problème majeur: la grande majorité des sites sont créés sans que les propriétaires ou les développeurs du site ne sachent vraiment ce que sont les mots-clés ...

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Vous avez probablement vu "soumission "Services annoncés pour le référencement, peut-être sous la forme de spam dans votre boîte de réception, offrant de soumettre votre site Web à des centaines de moteurs de recherche, encore et encore. Dans la plupart des cas, ces services de soumission sont une perte totale de temps et d'argent. Voici comment obtenir votre site Web dans les moteurs de recherche. You ...

Six mythes À propos de Search Engine Optimization - mannequins

Six mythes À propos de Search Engine Optimization - mannequins

Il existe une grande confusion dans le monde des moteurs de recherche. beaucoup de mythes. Voici quelques-uns des mythes communément crus qui peuvent nuire à vos positions de moteur de recherche. Tout est une question de métabalises et de soumissions. C'est le mythe le plus répandu et le plus préjudiciable de tous, tenu par de nombreux concepteurs et développeurs Web. ...