If you are referring to Dark Mode
you can create custom renderer to achieve that .
iOS
Set OverrideUserInterfaceStyle
in OnElementChanged
.
[assembly: ExportRenderer(typeof(Map), typeof(MyRenderer))]
namespace FormsApp.iOS
{
class MyRenderer : MapRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<View> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var nativeMap = Control as MKMapView;
nativeMap.OverrideUserInterfaceStyle = UIUserInterfaceStyle.Dark;
}
}
}
}
Android
Create a dark mode file in resource and set mapStyle
in OnElementChanged
.
[assembly: ExportRenderer(typeof(Map), typeof(MyMapRenderer))]
namespace FormsApp.Droid
{
class MyMapRenderer : MapRenderer
{
Context _context;
public MyMapRenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementChanged(ElementChangedEventArgs<Map> e)
{
base.OnElementChanged(e);
if(e.NewElement != null)
{
NativeMap.SetMapStyle(MapStyleOptions.LoadRawResourceStyle(this.Context, Resource.Raw.map_style_night));
}
}
}
}
Refer to
https://forums.xamarin.com/discussion/comment/429548/#Comment_429548.
How to use Dark Mode Google Maps in Xamarin.Forms.Maps?.