vauhtiin MapKit

oletuskarttanäkymä toimii hyvin heti kättelyssä-voit panoroida ympäriinsä, zoomata sisään ja ulos ja niin edelleen. Jos mietit, sinun täytyy pitää alhaalla Vaihtoehto laukaista virtuaalinen ”hyppysellinen” ele – klikkaa ja vedä kuin olisit liikuttamassa yksi sormi, ja toinen ”sormi” liikkuu vastakkaiseen suuntaan.

apueditorilla luo karttanäkymälle ulostulo nimeltään mapView. Sinun tulisi myös asettaa näkymäohjain karttanäkymän delegaatiksi Ctrl-vetämällä karttanäkymästä oranssivalkoiseen näkymäohjainpainikkeeseen hieman asettelualueen yläpuolella. Sinun on myös lisättävä import MapKit Viewcontrolleriin.swift siis ymmärtää, mitä MKMapView on.

Huomaa: Jos kartan delegaattia ei aseteta, projektin loppuosa ei toimi kovin hyvin.

kun tämä on tehty, lisäämme karttaamme merkintöjä. Merkinnät ovat objekteja, jotka sisältävät otsikon, alaotsikon ja kannan. Kaksi ensimmäistä ovat molemmat merkkijonoja, kolmas on uusi tietotyyppi nimeltään CLLocationCoordinate2D, joka on rakenne, jossa on leveys-ja pituusaste, johon huomautus tulisi sijoittaa.

Karttahuomautuksia ei kuvata luokkana, vaan protokollana. Tätä ei ole ennen nähty, sillä toistaiseksi protokollat ovat koskeneet metodeja. Mutta jos haluamme mukautua MKAnnotation – protokollaan, joka meidän on hyväksyttävä luodaksemme karttahuomautuksia, siinä todetaan, että meillä on oltava koordinaatti merkintöissämme. Siinä on järkeä, sillä kartassa ei ole mitään järkeä, jos emme tiedä, missä se on. Otsikko ja tekstitys ovat valinnaisia, mutta tarjoamme ne kuitenkin.

Luo uusi tiedosto ja valitse iOS > lähde > Cocoa Touch Class. Tee siitä alaluokka NSObject ja nimeä se ”pääkaupungiksi”. Karttahuomautusten avulla struktuureja ei voi käyttää, vaan ne on perittävä kohteesta NSObject, koska sen on oltava interaktiivinen Applen Objective-C-koodin kanssa.

muuttaa pääoman sisältöä.nopeasti tähän:

on kolme ominaisuuttamme sekä perusaloittaja, joka vain kopioi antamansa tiedot. Tässäkin on käytettävä self., koska siirrettävät parametrit ovat samaa nimeä kuin meidän ominaisuutemme. Olen lisännyt import MapKit tiedostoon, koska siinä on määritelty MKAnnotation ja CLLocationCoordinate2D.

tällä mukautetulla alaluokalla voimme luoda pääkaupunkeja siirtämällä niiden nimen, koordinaatit ja tiedot – käytän info-kiinteistöä pitääkseni yhden korvaamattoman arvokkaan (Lue: off-the-cuff, I sucked at geography) informaationappulan jokaisesta kaupungista. Olet tervetullut tekemään paremmin!

laita nämä viivat viewDidLoad() viewcontroller-menetelmään.swift:

nämä Capital oliot noudattavat MKAnnotation protokollaa, eli voimme lähettää sen karttanäkymään näytettäväksi addAnnotation() – menetelmällä. Laita tämä juuri ennen loppua viewDidLoad():

Vaihtoehtoisesti voit lisätä useita merkintöjä kerralla käyttämällä addAnnotations() – menetelmää. Käyttämällä tätä, korvaisit nämä viisi riviä tällä:

mapView.addAnnotations()

tämä luo taulukon ulos huomautuksista ja lähettää sen yhtenä kertana karttanäkymään.

jos suoritat ohjelmasi nyt, näet jokaisen kaupungin kartalla PIN-koodeja, joista voit napauttaa minkä tahansa nähdäksesi kaupungin nimen. Mutta missä on info omaisuus? Jos haluat näyttää enemmän tietoa, meidän täytyy muokata näkymää, jota käytetään merkintöjen näyttämiseen.

sponsoroitu Oletko kyllästynyt tuhlaamaan aikaa vianetsintä Swift-sovellus? Instabugin SDK auttaa minimoimaan virheenkorjausajan tarjoamalla sinulle täydelliset laitteen tiedot, verkkolokit ja kopiointivaiheet jokaisen vikailmoituksen yhteydessä. Kaikki tiedot liitetään automaattisesti. Se vaatii vain rivin koodia setup. Aloita ilmainen kokeiluversio nyt ja lähetä laadukkaita sovelluksia!

kokeile ilmaiseksi

sponsoroi hakkerointia Swiftin kanssa ja saavuta maailman suurin Swift-yhteisö!