Térkép hozzáadása az alkalmazáshoz a MapKit és a Core Location segítségével– iOS Swift Guide

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 CLLocationobjektumban 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.

adjon hozzá egy megjegyzést a térképhez

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:

Get PlaceMark for Location

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:

a CLPlacemark tulajdonságoknak megfelelő értékek

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.

Szerezd meg a teljes karakterlánc címet a

helyről most frissítsük a hívást updateLocationOnMap – re az új lookUpLocationName funkciónkkal.

az aktuális hely megjelenítése a térképen a gombról érintse meg a

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.

Hely megjelenítése a térképen

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.

valós idejű hely megjelenítése a térképen

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.



+