miten voit lisätä kartan sovellukseesi Mapkitin ja Core Locationin avulla-iOS Swift Guide

Vaihe 4: Etsi minut-painike: Näytä sijainti kartalla

ensimmäinen vaihe, haemme nykyisen sijainnin, kun käyttäjä painaa Etsi-me-painiketta 🧭.

sijaintivastaava antaa CLLocation kohteen nykyisen sijainnin locationManager.location. Tämä kohde sisältää erilaisia tietoja, mukaan lukien leveys-ja pituuskoordinaattien arvot.

lisätään karttaan huomautus

luodaan uusi funktio, joka lisää karttaan huomautuksen annetuista koordinaateista.

seuraava funktio luo uuden MKPointAnnotation olion ja lisää sen karttaan poistettuaan kaikki aiemmat merkinnät. Se myös zoomaa ja vierittää karttaa laittaakseen juuri lisätyn merkinnän näytön keskelle.

Lisää merkintä karttaan

nyt kun meillä on tämä funktio, voit kutsua sitä nykyisillä sijaintitiedoilla, jotka haluat näyttää, painikkeellasi IBAction-funktio. Toistaiseksi laitamme nil otsikoksi, koska meillä ei ole vielä tätä tietoa.

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

lisää paikan täydellinen osoite otsikkona huomautukseen

nyt lisäämme sijainnin täydellisen osoitteen otsikkona huomautukseen. CoreLocation antaa meille helpon tuloksen CLGeocoder.

luo laajennus CLLocation ja lisää seuraava funktio:

Hanki PlaceMark sijainnille

se kääntää geokoodin sijainnin ja antaa CLPlacemark, joka sisältää kaikki tiedot, joita tarvitaan täydellisen postiosoitteen saamiseksi.

osoitetietoja tallennetaan kuten alla olevaan Placemark-kohteeseen. Saadaksesi merkkijonon arvon koko osoitteelle, sinun täytyy yhdistää tarvitsemasi komponentit. Tässä on esimerkki Apple HQ-osoitteesta alla olevassa taulukossa:

arvot vastaavat CLPlacemark ominaisuuksia

lisätään funktio meidän CLLocation laajennus, joka antaa meille koko osoitteen suoraan. Mukavuussyistä voit lisätä uuden kiinteistön laajennukseen CLPlacemark. Tässä esimerkissä tätä ominaisuutta kutsutaan nimellä stringValue.

Hae koko merkkijonon osoite kohteesta

nyt päivitetään puhelu numeroon updateLocationOnMap uudella lookUpLocationName – toiminnolla.

Näytä nykyinen sijainti kartalla napin painalluksella

Rakenna ja suorita sovelluksesi: kun painat Paikanna-me-painiketta, nykyinen sijaintisi lisätään kartalle, jolloin näet nykyisen sijaintisi täydellisen osoitteen!

lisää paikkamerkki merkkijonon osoitteesta karttaan

tässä osassa käytetään myös suurinta osaa vaiheesta 3 paikantaa-Me-painiketta varten kirjoittamastamme funktiosta. Lisäämme vain uuden funktion updatePlaceMark(to address: String) ja kutsumme sen tekstikentän validoinnin yhteydessä.

tässä funktiossa saamme ensin paikkamerkit käyttäjän syöttämästä merkkijonoarvosta, sitten päivitämme kartan ensimmäisellä paikkamerkillä, jossa on sen täysi osoitearvo.

Näytä sijainti kartalla merkkijonon

perusteella huomaa, että geocodeAddressString ei ole sijaintihakuominaisuus, joten toimiakseen se tarvitsee joko kelvollisen osoitteen ja tunnistettavan sijainnin, kaupungin, valtion tai maan kentällä saadakseen tuloksen.

Vaihe 6: Näytä reaaliaikainen sijainti kartalla

näyttääksesi reaaliaikaisen sijainnin, lisää seuraava delegointifunktio jo luomaamme laajennukseen CLLocationManagerDelegate.

Sijaintivastaava kutsuu tätä toimintoa automaattisesti sijaintipäivitysten yhteydessä alussa määritellyn käytännön mukaisesti.

Näytä reaaliaikainen sijainti kartalla

Vaihe 7: Rakenna & Suorita

Rakenna ja suorita sovellus: Sinulla on nyt karttasovellus, joka näyttää nykyisen sijaintisi, näyttää koko osoitteen reaaliajassa, paikantaa sinut Etsi-me-napin painalluksella ja mahdollistaa sijaintien etsimisen tekstikentästä.



+