Skip to content

Add option to manually set light/dark appearance (overrideUserInterfaceStyle) #77

@lucas-sesti

Description

@lucas-sesti

Is your feature request related to a problem? Please describe.

I'm building a themable Flutter app where users can manually choose between light or dark mode, regardless of the system theme. Currently, the apple_maps_flutter plugin only follows the iOS system appearance, and there’s no way to manually set the map style to light or dark programmatically. This results in inconsistent theming when the app is in dark mode but the system is in light mode (or vice versa).

Describe the solution you'd like

I’d like the plugin to expose an option in the AppleMap widget that allows developers to explicitly set the map appearance mode.

Example:

AppleMap(
  appearance: MapAppearance.dark, // .light, .dark, .system (default)
)

Which would internally map to:

if #available(iOS 13.0, *) {
    map.overrideUserInterfaceStyle = .dark // or .light / .unspecified
}

Describe alternatives you've considered

  • Forking the plugin and modifying the native iOS code to expose a custom method channel for overrideUserInterfaceStyle, but this increases maintenance burden.
  • Forcing the entire app to change the system interface style via Info.plist or theming wrappers, which affects the whole app and doesn't allow per-widget control.

Additional context

This would bring more flexibility for apps that support manual theme switching and improve visual consistency in user interfaces that integrate Apple Maps.

Thank you for the great work on this plugin!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @lucas-sesti@LuisThein

      Issue actions

        Add option to manually set light/dark appearance (overrideUserInterfaceStyle) · Issue #77 · fluttercommunity/apple_maps_flutter