4.lépés: helymeghatározás gomb: Hely megjelenítése a térképen
első lépésként lekérjük az aktuális helyet, amikor a felhasználó megnyomja a helymeghatározás gombot.
a helykezelő megadja az aktuális helyet egy CLLocation
objektumban a locationManager.location
értékkel. Ez az objektum különböző információkat tartalmaz, beleértve a szélességi és hosszúsági koordináták értékeit.
Megjegyzés hozzáadása A térképhez
hozzunk létre egy új függvényt, amely kommentárt ad a térképhez a megadott koordinátákon.
a következő függvény létrehoz egy új MKPointAnnotation
objektumot, amelyet az összes korábbi megjegyzés eltávolítása után hozzáad a térképhez. Azt is nagyítja és görgeti a térképet, hogy az újonnan hozzáadott kommentár a képernyő közepén.
most, hogy megvan ez a funkció, felhívhatja a megjeleníteni kívánt aktuális helyinformációkkal a gomb IBAction funkciójában. Most a nil
címet adjuk meg, mivel még nem rendelkezünk ezzel az információval.
updateLocationOnMap(to: locationManager.location, with: nil)
adja hozzá a hely teljes címét címként a kommentárhoz
most hozzáadjuk a hely teljes címét címként a kommentárhoz. CoreLocation ad nekünk egy könnyű megtenni a CLGeocoder
.
hozzon létre egy kiterjesztést CLLocation
– ra, és adja hozzá a következő függvényt:
megfordítja a Geokód helyét, és ad egy CLPlacemark
– et, amely tartalmazza a teljes Postai cím kibontásához szükséges összes információt.
a Címinformációk az alábbiak szerint kerülnek tárolásra a Helyjelző objektumban. A teljes cím karakterlánc-értékének megszerzéséhez össze kell kapcsolnia a szükséges összetevőket. Íme egy példa az Apple HQ címére az alábbi táblázatban:
adjunk hozzá egy függvényt a CLLocation
kiterjesztéshez, amely közvetlenül megadja nekünk a teljes címet. A kényelem érdekében hozzáadhat egy új tulajdonságot a CLPlacemark
kiterjesztéshez. Ebben a példában ezt a tulajdonságot stringValue
– nek hívják.
helyről most frissítsük a hívást updateLocationOnMap
– re az új lookUpLocationName
funkciónkkal.
az alkalmazás felépítése és futtatása: most, amikor megnyomja a locate-me gombot, az aktuális tartózkodási helyét hozzáadja a térképhez, megjelenítve az aktuális tartózkodási helyét teljes címét!
Helyjelző hozzáadása egy karakterlánc címéből a térképhez
a 3.lépésben a locate-me gombhoz írt funkció nagy részét szintén ebben a részben fogjuk használni. Csak egy új updatePlaceMark(to address: String)
függvényt adunk hozzá, és a szövegmező érvényesítése után hívjuk meg.
ebben a funkcióban először a felhasználó által megadott karakterláncértékből kapunk helyjeleket, majd frissítjük a térképet az első helyjelzővel a teljes címértékével.
karakterlánc-cím alapján vegye figyelembe, hogy a geocodeAddressString
nem helykereső funkció, ezért a működéséhez érvényes címre, azonosítható helyre, városra, államra vagy országra van szükség a mezőben, hogy eredményt kapjon.
6. lépés: Valós idejű hely megjelenítése a térképen
a valós idejű hely megjelenítéséhez adja hozzá a következő delegált funkciót a már létrehozott CLLocationManagerDelegate
kiterjesztéshez.
a Helykezelő automatikusan meghívja ezt a funkciót a helyfrissítések során, az elején meghatározott házirendnek megfelelően.
7. lépés: Építsd & fuss
Építsd és futtasd az alkalmazást: Most van egy Térképalkalmazása, amely megmutatja az aktuális tartózkodási helyét, valós időben jeleníti meg a teljes címet, megkeresi Önt a locate-me gomb megérintésével, és lehetővé teszi a helyek keresését egy szövegmezőből.