Google térkép

Kiegészítők
Xamarin.Forms.GoogleMaps
Xamarin.Forms.GoogleMaps.Clustering
Xamarin.Build.Download (Csak iOS esetén szükséges!)
 
Hivatkozások
using Xamarin.Forms.GoogleMaps;
using Xamarin.Forms.GoogleMaps.Clustering;
 
XAML szülőjében:
xmlns:maps="clr-namespace:Xamarin.Forms.GoogleMaps;assembly=Xamarin.Forms.GoogleMaps"
xmlns:clustering="clr-namespace:Xamarin.Forms.GoogleMaps.Clustering;assembly=Xamarin.Forms.GoogleMaps.Clustering"
- Az első esetben normál, a második esetben pedig klaszterolt térkép esetén kell megadni
 
Kiegészítés Projekt.Android > MainActivity.cs esetén (LoadApplication előtt)
Xamarin.FormsGoogleMaps.Init(this, savedInstanceState);
 
Kiegészítés Projekt.Android > Properties > AndroidManifest.xml esetén (Application-on belül)
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="...GoogleMaps API kulcs..." />
<uses-library android:name="com.google.android.maps" />
<uses-library android:name="org.apache.http.legacy" android:required="false" />
 
Kiegészítés Projekt.iOS > AppDelegate.cs esetén (LoadApplication előtt)
Xamarin.FormsGoogleMaps.Init(...GoogleMaps API kulcs...);
 
Kiegészítés Projekt.UWP > App.xaml.cs esetén (OnLauched-on belüli a nagy IF-esben)
var rendererAssemblies = new[]
{
    typeof(Xamarin.Forms.GoogleMaps.UWP.MapRenderer).GetTypeInfo().Assembly
};
Xamarin.Forms.Forms.Init(e, rendererAssemblies);
Xamarin.FormsGoogleMaps.Init(...Bing Maps API kulcs...);
 
Normál térkép elhelyezése
<maps:Map x:Name="map" MapType="Street"/>
- Figyelem! Előfordulhat, hogy ScrollView-en belül a térkép nem működik rendesen!
 
Klaszterolt térkép elhelyezése
<clustering:ClusteredMap x:Name="map" MapType="Street"/>
- Figyelem! Minimum 6 térkép jelölőre lehet szükség, hogy a kalszterezés bekapcsolódjon!
 
Beállítások
- InitialCameraUpdate: Középpont (szélesség, hosszúság, nagyítás, elforgatás, döntés)
- HasRotationEnabled: Forgatás
- HasScrollEnabled: Mozgatás
- HasZoomEnabled: Nagyítás
- IsTrafficEnabled: Forgalom
- MapType: Típus (Street; Terrain; Satellite; Hybrid; None)
 
Interakciók
- CameraChanged: Mozgatás történt
- InfoWindowClicked: Rövid nyomás a popupra
- InfoWindowLongClicked: Hosszú nyomás a popupra
- MapClicked: Rövid nyomás a térképre
- MapLongClicked: Hosszú nyomás a térképre
- MyLocationButtonClicked: Pozícióm gomb megnyomása
- PinClicked: Térkép jelölő megérintése
- PinDragEnd: Térkép jelölő mozgatása után
- SelectedPinChanged: Másik térkép jelölő lett kiválasztva
 
Térképjelölő ikon módosítása
icon = BitmapDescriptorFactory.FromBundle("...");
GoogleMap.Pins.Add(new Pin { Position = new Position(..., ...), Label = ..., Address = ..., Icon = icon });
- Android esetén a képeket a Projekt.Android > Assets könyvtárba kell rakni, iOS esetén pedig szokásos módon Image Assets alkalmazása.

 

dokumentum: 
Mobilos kategóriák: