Sådan tilføjes et kort til din App med MapKit og Kerneplacering– iOS hurtig Guide

Trin 4: Find Me-knap: Vis placering på kortet

første trin, vi henter den aktuelle placering, når brugeren trykker på Find-Me-knappen.

placeringsadministratoren giver dig den aktuelle placering i et CLLocationobjekt med locationManager.location. Dette objekt indeholder forskellige informationer, herunder breddegrad og længdegrad koordinater værdier.

Tilføj en kommentar til kortet

lad os oprette en ny funktion, der tilføjer en kommentar til kortet ved de givne koordinater.

følgende funktion opretter et nyt MKPointAnnotation objekt og føjer det til kortet efter fjernelse af alle tidligere anmærkninger. Det kaster også og ruller kortet for at placere den nyligt tilføjede kommentar i midten af skærmen.

Tilføj en kommentar til kortet

nu hvor vi har denne funktion, kan du kalde den med de aktuelle placeringsoplysninger, du vil vise, i din knap IBAction-funktion. For nu sætter vi nil som titel, da vi endnu ikke har disse oplysninger.

updateLocationOnMap(to: locationManager.location, with: nil)

tilføj den fulde adresse på placeringen som titel til annotationen

nu tilføjer vi placeringen fuld adresse som titel til annotationen. CoreLocation giver os en nem at gøre det med CLGeocoder.

Opret en udvidelse til CLLocation og tilføj følgende funktion:

få Stedmarkering for placering

det vil vende geokoden placering og giver dig en CLPlacemark, der indeholder alle de oplysninger, der er nødvendige for at udtrække fuld postadresse.

adresseoplysninger gemmes som nedenfor i Placemarkeringsobjektet. For at få en strengværdi af den fulde adresse skal du sammenkæde de komponenter, du har brug for. Her er et eksempel på Apple-hovedkvarterets adresse på nedenstående tabel:

værdier svarende til CLPlacemark properties

lad os tilføje en funktion til vores CLLocation udvidelse, der giver os den fulde adresse direkte. For nemheds skyld kan du tilføje en ny ejendom i en udvidelse på CLPlacemark. I dette eksempel kaldes denne egenskab stringValue.

få fuld strengadresse fra Placering

lad os nu opdatere opkaldet til updateLocationOnMap med vores nye lookUpLocationName funktion.

Vis nuværende placering på kort fra knap tap

Byg og kør din app: nu når du trykker på Find-Me-knappen, tilføjes din aktuelle placering på kortet og viser din aktuelle placering fuld adresse!

Tilføj et Stedmærke fra en strengadresse til kortet

det meste af den funktion, vi skrev i Trin 3 til Find-Me-knappen, vil også blive brugt i denne del. Vi tilføjer kun en ny funktion updatePlaceMark(to address: String) og kalder den på tekstfeltvalidering.

i denne funktion får vi først stedsmarkeringer fra den strengværdi, der er indtastet af brugeren, så opdaterer vi kortet med det første stedsmarkering med den fulde adresseværdi.

Vis placering på kort baseret på en strengadresse

Bemærk, at geocodeAddressString ikke er en placeringssøgningsfunktion, så for at den kan fungere, skal den enten have en gyldig adresse og identificerbar placering, en by, stat eller et land i feltet for at få et resultat.

Trin 6: Vis placering i realtid på kortet

for at vise placering i realtid skal du tilføje følgende delegeringsfunktion i den CLLocationManagerDelegate udvidelse, vi allerede har oprettet.

Placeringsadministratoren kalder denne funktion automatisk ved placeringsopdateringer i henhold til den politik, der er defineret i begyndelsen.

Vis placering i realtid på kort

Trin 7: Byg & Kør

Byg og kør din app: Du har nu en kortapp, der viser dig din aktuelle placering, viser den fulde adresse i realtid, lokaliserer dig på et Find-Me-knaptryk og giver dig mulighed for at søge efter placeringer fra et tekstfelt.



+