Krok 4: Vyhledejte Mi Tlačítko: Zobrazit Polohu na Mapě
První krok, budeme načtení aktuální polohy, když uživatel stiskněte tlačítko najít-me tlačítko 🧭.
Správce polohy vám poskytne aktuální polohu v objektu CLLocation
s locationManager.location
. Tento objekt obsahuje různé informace, včetně zeměpisné šířky a délky souřadnic hodnoty.
přidejte do mapy anotaci
vytvořme novou funkci, která přidá anotaci do mapy na daných souřadnicích.
následující funkce vytvoří nový objekt MKPointAnnotation
a přidá jej na mapu po odstranění všech předchozích anotací. Také přiblíží a posouvá mapu, aby nově přidaná anotace byla umístěna do středu obrazovky.
Teď máme tuto funkci, můžete volat to s aktuální umístění informací, které chcete zobrazit, tlačítko IBAction funkce. Prozatím dáme nil
jako název, protože tyto informace ještě nemáme.
updateLocationOnMap(to: locationManager.location, with: nil)
přidejte úplnou adresu umístění jako název do anotace
nyní přidáme úplnou adresu umístění jako název do anotace. CoreLocation nám dává snadné to udělat s CLGeocoder
.
Vytvořit rozšíření CLLocation
a přidat následující funkce:
To bude zvrátit geocode polohu a dává vám CLPlacemark
, obsahující všechny informace potřebné k extrahovat plnou poštovní adresu.
informace o adrese jsou uloženy níže v objektu značky místa. Chcete-li získat hodnotu řetězce úplné adresy, budete muset zřetězit potřebné komponenty. Zde je příklad pro Apple HQ adresu v tabulce níže:
Pojďme přidat funkce, aby naše CLLocation
rozšíření, které vám dává nám plnou adresu přímo. Pro větší pohodlí můžete přidat novou vlastnost v příponě CLPlacemark
. V tomto příkladu se tato vlastnost nazývá stringValue
.
Teď pojďme aktualizovat volání updateLocationOnMap
s naší novou lookUpLocationName
funkce.
Vytvořit a spustit vaše aplikace: nyní, když stisknete tlačítko najít-me tlačítko, vaše aktuální poloha je přidána na mapu, zobrazující vaši aktuální polohu plnou adresu!
přidat značku místa z adresy řetězce na mapu
většina funkce, kterou jsme napsali v kroku 3 pro tlačítko locate-me, bude také použita v této části. Přidáme pouze novou funkci updatePlaceMark(to address: String)
a zavoláme ji po ověření textového pole.
v této funkci nejprve získáme značky míst z hodnoty řetězce zadané uživatelem, poté aktualizujeme mapu první značkou místa s úplnou hodnotou adresy.
Poznámka geocodeAddressString
není umístění funkce hledání, tak pro to, aby práce, kterou bude muset buď platnou adresu, a identifikovatelné místo, město, stát nebo země v oblasti, aby si výsledek.
Krok 6: Zobrazit polohu v reálném čase na mapě
Chcete-li zobrazit polohu v reálném čase, přidejte následující funkci delegáta do rozšíření CLLocationManagerDelegate
, které jsme již vytvořili.
Správce polohy tuto funkci automaticky vyvolá při aktualizacích polohy podle zásad definovaných na začátku.
Krok 7: Sestavení & Spustit
Vytvořit a Spustit vaše aplikace: Nyní máte Mapu aplikace, která vám ukáže vaši aktuální polohu, zobrazovat úplné adresy v reálném čase, umístění na najít-me tlačítko klepněte na tlačítko a umožňuje vyhledávat místa z textového pole.