fel és fut a MapKit
az alapértelmezett térképnézet remekül működik a dobozból – körbejárhatja, nagyíthatja és kicsinyítheti stb. Ha kíváncsi, meg kell, hogy tartsa lenyomva lehetőség kiváltó virtuális “csipet” gesztus – csak kattintson és húzza, mintha mozog az egyik ujját, és a másik “ujj” mozog az ellenkező irányba.
a segédszerkesztő segítségével hozzon létre egy kimenetet a térképnézethez, amelynek neve mapView
. A nézetvezérlőt úgy is be kell állítania, hogy a Térképnézet delegáltja legyen, ha a CTRL billentyűt a térképnézetből az elrendezési terület feletti narancssárga és fehér nézetvezérlő gombra húzza. A Viewcontrollerhez hozzá kell adnia a import MapKit
értéket is.swift tehát megérti, mi az a MKMapView
.
Megjegyzés: Ha nem állítja be a térkép delegáltját, a projekt többi része nem fog túl jól működni.
ezzel kész, hozzá fogunk adni néhány megjegyzést a térképünkhöz. A kommentárok olyan objektumok, amelyek címet, feliratot és pozíciót tartalmaznak. Az első kettő mindkét karakterlánc, a harmadik egy új adattípus, az úgynevezett CLLocationCoordinate2D
, amely egy olyan struktúra, amely egy szélességi és hosszúsági fokot tartalmaz, ahol az annotációt el kell helyezni.
a térképes kommentárokat nem osztályként, hanem protokollként írják le. Ez olyasmi, amit még nem láttál, mert eddig a protokollok mind a módszerekről szóltak. De ha meg akarunk felelni a MKAnnotation
protokollnak, amelyet el kell fogadnunk a térképes kommentárok létrehozásához, akkor azt állítja, hogy a kommentárunkban koordinátának kell lennie. Ennek van értelme, mert nincs értelme egy jegyzetnek a térképen, ha nem tudjuk, hol van. A cím és a felirat opcionális, de mindenképpen megadjuk őket.
hozzon létre egy új fájlt, és válassza az iOS > Source > Cocoa Touch osztályt. Legyen a NSObject
alosztálya, és nevezze el “Capital” – nak. A térképes annotációkkal nem lehet struktúrákat használni, és a NSObject
-ból kell örökölni, mert interaktívnak kell lennie az Apple Objective-C kódjával.
módosítsa a tőke tartalmát.gyors erre:
három tulajdonságunk van, valamint egy alapvető inicializáló, amely csak másolja a megadott adatokat. Ismét itt kell használnunk a self.
értéket, mert az átadott paraméterek megegyeznek a tulajdonságainkkal. Hozzáadtam az import MapKit
fájlt, mert itt vannak definiálva a MKAnnotation
és a CLLocationCoordinate2D
.
ezzel az egyéni alosztálysal fővárosokat hozhatunk létre a nevük, koordinációjuk és információik átadásával – a info
tulajdonságot fogom használni, hogy egy felbecsülhetetlen értékű (olvasható: off-the-mandzsetta, a földrajzban szoptam) információs rögöt tartsak minden városról. Szívesen, hogy jobban!
tegye ezeket a sorokat a ViewController viewDidLoad()
módszerébe.swift:
ezek a Capital
objektumok megfelelnek a MKAnnotation
protokollnak, ami azt jelenti, hogy a addAnnotation()
módszerrel elküldhetjük térképnézetbe megjelenítés céljából. Tegye ezt közvetlenül a vége előtt viewDidLoad()
:
Alternatív megoldásként egyszerre több megjegyzést is hozzáadhat a addAnnotations()
módszerrel. Ezt használva, ezt az öt sort ezzel helyettesítené:
mapView.addAnnotations()
ez létrehoz egy tömböt a kommentárokból, és egy darabban elküldi a térképnézetbe.
ha most futtatja a programot, akkor a térképen minden városhoz megjelennek Csapok, és bármelyikre koppintva láthatja a város nevét. De hol van a info
ingatlan? További információk megjelenítéséhez testre kell szabnunk a Megjegyzések megjelenítéséhez használt nézetet.
szponzorált fáradt időveszteség hibakeresés a Swift app? Instabug SDK van itt, hogy segítsen minimalizálni hibakeresés időt azáltal, hogy az Ön számára a teljes eszköz adatait, hálózati naplók, és reprodukciós lépéseket minden hibajelentést. Minden adat automatikusan csatolva van. A beállításhoz csak egy sor kód szükséges. Indítsa el most az ingyenes próbaverziót, és szállítson minőségi alkalmazásokat!
próbáld ki ingyen
szponzor hackelés Swift és eléri a világ legnagyobb Swift közösség!