Google térkép
Beküldte eros.tamas - 2020, március 3 - 13:50
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:
Mintapélda
Mobilos kategóriák: