Ich habe Google Maps erfolgreich in mein Xamarin Forms-Projekt implementiert, aber jetzt möchte ich seinen Stil ändern. Ich möchte a style from SnazzyMaps verwenden, aber ich weiß nicht, wie das geht. Ich habe in den Foren gelesen, dass Sie den JSON von SnazzyMaps in die Anwendung laden können, aber ich habe keine Ahnung, wie das geht.Verwenden Sie benutzerdefinierten Map-Stil in Xamarin Forms?
4
A
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).
Verwandte Themen
- 1. Xamarin Forms Pop-in mit benutzerdefinierten Renderern
- 2. Xamarin Forms Kamera mit benutzerdefinierten Menü
- 3. Nicht aktualisieren benutzerdefinierten Renderer Xamarin Forms Karten
- 4. Verwenden Mono.Android in meiner PCL Xamarin Forms
- 5. Xamarin Forms Benutzerdefinierte Navigationsübergänge
- 6. Xamarin Forms - PDFTron
- 7. Hintergrunddienst in Xamarin Forms
- 8. Xamarin Android, Xamarin Forms Orientierungsänderung
- 9. Xamarin Forms nativer custyrenderer
- 10. Children.Add() in Xamarin Forms
- 11. WebView in Xamarin Forms
- 12. CrossShare in Xamarin Forms
- 13. Xamarin Forms CustomMapRenderer iOS
- 14. Fügen Sie mehrere Etiketten in Xamarin Forms
- 15. Definieren Sie Xmlns in Xamarin Forms
- 16. Löschen Sie alle Felder in Xamarin Forms
- 17. Verwenden von Grial UIKit mit Xamarin Forms
- 18. Xamarin Forms Padding in StaticResource
- 19. Eingebettete Kamera in Xamarin Forms
- 20. Xamarin Forms Label Benutzerkontrolle
- 21. Xamarin Forms - tippen Sie Gesture Recognizer Equivalent
- 22. Xamarin Forms - StackLayout in AbsoluteLayout
- 23. Xamarin Forms - Kamera & Design
- 24. Xamarin Forms-Seite Navigation
- 25. Lesen Sie bestehende SMS mit Xamarin Forms
- 26. Xamarin Forms ZXing-Fehler
- 27. Fällt rechts in Xamarin Forms
- 28. Xamarin Forms - Plugins.BLE - MvvmCross.Plugins.BLE
- 29. Xamarin Forms Icons
- 30. Xamarin Forms SignaturePad
Ich habe nicht eine ‚SetMapStyle‘ Methode – Radu
@Radu 'SetMapStyle' ein Verfahren auf der * nativen * Android GoogleMap Klasse ist, würden Sie es innerhalb eines benutzerdefinierten Renderer verwenden müssen. – SushiHangover
Das habe ich versucht. Ich habe auch versucht, alle Nuget-Pakete zu aktualisieren, aber die Methode funktioniert immer noch nicht – Radu