Sdílet prostřednictvím


Spuštění aplikace Mapy

Nejjednodušší způsob, jak pracovat s mapami v Xamarin.Androidu, je využít předdefinované aplikace map uvedené níže:

Example screenshot of built-in Google Maps app

Když použijete aplikaci mapy, mapa nebude součástí vaší aplikace. Místo toho aplikace spustí aplikaci mapy a načte mapu externě. V další části se dozvíte, jak pomocí Xamarin.Androidu spouštět mapy jako v předchozí části.

Vytvoření záměru

Práce s mapovou aplikací je stejně snadná jako vytvoření záměru s odpovídajícím identifikátorem URI, nastavení akce na ActionView a volání metody StartActivity. Například následující kód spustí aplikaci mapy na střed v dané zeměpisné šířce a délce:

var geoUri = Android.Net.Uri.Parse ("geo:42.374260,-71.120824");
var mapIntent = new Intent (Intent.ActionView, geoUri);
StartActivity (mapIntent);

Tento kód je vše, co je potřeba ke spuštění mapy zobrazené na předchozím snímku obrazovky. Kromě zadávání zeměpisné šířky a délky podporuje schéma identifikátoru URI pro mapy několik dalších možností.

Schéma geografického identifikátoru URI

Výše uvedený kód použil geografické schéma k vytvoření identifikátoru URI. Toto schéma identifikátoru URI podporuje několik formátů, jak je uvedeno níže:

  • geo:latitude,longitude – Otevře aplikaci mapy na střed na lat/lon.

  • geo:latitude,longitude?z=zoom – Otevře aplikaci mapy zarovnanou na západ/lon a přiblíží se na zadanou úroveň. Úroveň přiblížení může být v rozsahu od 1 do 23: 1 zobrazí celou Zemi a 23 je nejbližší úroveň přiblížení.

  • geo:0,0?q=my+street+address – Otevře aplikaci mapy na umístění ulice.

  • geo:0,0?q=business+near+city – Otevře aplikaci mapy a zobrazí výsledky hledání s poznámkami.

Verze identifikátoru URI, které přebírají dotaz (konkrétně ulici nebo hledané termíny), používají službu Geocoder společnosti Google k načtení umístění, které se pak zobrazí na mapě. Například výsledkem identifikátoru URI geo:0,0?q=coop+Cambridge je mapa zobrazená níže:

Example screenshot showing Google Maps with a search term

Další informace o schématech geografického identifikátoru URI naleznete v tématu Zobrazit umístění na mapě.

Zobrazení ulice

Kromě geografického schématu podporuje Android také načítání zobrazení ulic ze záměru. Příklad aplikace street view spuštěné z Xamarin.Androidu je uvedený níže:

Example screenshot of a street view

Pokud chcete spustit zobrazení ulic, jednoduše použijte schéma identifikátoru google.streetview URI, jak je znázorněno v následujícím kódu:

var streetViewUri = Android.Net.Uri.Parse (
       "google.streetview:cbll=42.374260,-71.120824&cbp=1,90,,0,1.0&mz=20");  
var streetViewIntent = new Intent (Intent.ActionView, streetViewUri);  
StartActivity (streetViewIntent);

Schéma identifikátoru URI google.streetview použité výše má následující formu:

google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

Jak vidíte, podporuje se několik parametrů, jak je uvedeno níže:

  • lat – Zeměpisná šířka místa, která se má zobrazit v zobrazení ulice.

  • lng – Zeměpisná délka místa, která se má zobrazit v zobrazení ulice.

  • pitch – Úhel pohledu na ulici, měřený od středu ve stupních, kde je 90 stupňů rovnou dolů a -90 stupňů je rovnou nahoru.

  • yaw – Střed zobrazení výhledu na ulici, měřeno ve stupních hodinových ručiček od severu.

  • zoom – Násobitel lupy pro zobrazení ulice, kde 1,0 = normální přiblížení, 2,0 = přiblížení 2x, 3,0 = zvětšení 4x atd.

  • mz – Úroveň přiblížení mapy, která se použije při přechodu do aplikace mapy z zobrazení ulice.

Práce s integrovanou aplikací map nebo zobrazením ulic je snadný způsob, jak rychle přidat podporu mapování. Rozhraní API Mapy Androidu ale nabízí podrobnější kontrolu nad mapovacím prostředím.