Jak Přidat Mapu do vaší Aplikace s MapKit a Core Location– iOS Swift Průvodce

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.

Přidat Poznámku k Mapě,

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:

Dostat Značku místa pro Umístění

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:

Hodnoty odpovídající CLPlacemark vlastnosti

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.

Získat plnou řetězec adresy z Umístění

Teď pojďme aktualizovat volání updateLocationOnMap s naší novou lookUpLocationName funkce.

Zobrazit aktuální polohu na Mapě z klepněte na tlačítko

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.

Ukázat polohu na mapě na základě string adresa

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.

Ukázat v reálném čase polohu na mapě

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.



+