2017-08-10 3 views

Antwort

3

In Ihrem benutzerdefinierten Xamarin.Forms GoogleMap Renderer, können Sie den Stil mit dem json Inhalt gesetzt:

Xamarin.Android Beispiel:

googleMap.SetMapStyle(MapStyleOptions.LoadRawResourceStyle(this, Resource.Raw.map_style_night)); 

Xamarin.iOS Beispiel:

googleMapView.MapType = MapViewType.Normal; // Must be normal 
var styleResource = NSBundle.MainBundle.GetUrlForResource("map_style_night", "json"); 
googleMapView.MapStyle = MapStyle.FromUrl(styleResource, null); // DO NOT pass an NSError, hard-crash/SIGSEGV 

Hinweis: Do nicht ein NSError Instan übergeben ce an MapStyle.FromUrl oder MapStyle.FromJson mit der aktuellen Xamarin.Google.iOS.Maps Bindung (v2.1.0.2), da dies einen Hard-Crash (SIGSEGV) verursachen wird. Ich musste eine benutzerdefinierte Bindung erstellen, um NSError als out var zuzulassen, um zu bestimmen, ob der JSON korrekt geparst wurde (auch für die neuesten Fixes in Google iOS Map v2.4.30121.0 erforderlich, da Xamarin die ältere Version 2.1.0.2 bindet/bündelt).

enter image description here

+0

Ich habe nicht eine ‚SetMapStyle‘ Methode – Radu

+0

@Radu 'SetMapStyle' ein Verfahren auf der * nativen * Android GoogleMap Klasse ist, würden Sie es innerhalb eines benutzerdefinierten Renderer verwenden müssen. – SushiHangover

+0

Das habe ich versucht. Ich habe auch versucht, alle Nuget-Pakete zu aktualisieren, aber die Methode funktioniert immer noch nicht – Radu