Returns a store, creates it if necessary.
Optionalpinia: Pinia | nullPinia instance to retrieve the store
Optionalhot: StoreGenericdev only hot module replacement
Icon for icon menu button. If given, render a button with the icon. When clicked, open the content of the configured plugin. If not given, render the plugin content as is inside the IconMenu.
Current examples for the usage without icon include Zoom and Fullscreen if
MapConfiguration.layout | mapConfiguration.layers is set to 'nineRegions'
The plugin that should be part of the icon menu.
Unique technical identifier.
For bundled plugins, this is its name, e.g. fullscreen.
For external plugins, use external- as a prefix and ensure uniqueness.
For publicly published plugins, it is recommended to use
polar-plugin-X as your package name and use external-X as ID.
Please do not use external-X when X is a bundled plugin.
Optionalcomponent?: A Vue component if required.
The component will be rendered by POLAR over the map.
The position is either to be determined by the plugin if layout === 'standard'
or will be determined by the layout.
Optionalicon?: stringIcon class for the plugin. This icon will be used as the default for rendering in menus.
Optionallocales?: { resources: Record<string, ResourceKey>; type: string }[]Locales used in the plugin.
The locales will be loaded to the namespace that equals the plugin's ID.
Optionaloptions?: {Configuration options. Please also note that all configuration added via plugin constructors can be overridden in
the createMap | createMap's parameter mapConfiguration .
You may use either object (or a mix of them) to create the configuration, e.g. use the constructors for a base
configuration and the mapConfiguration object to override it for various use cases.
How exactly you do this is up to you and influences the minimum API call requirements your client has.
OptionalstoreModule?: PolarPluginStore<{ setupPlugin?: () => void; teardownPlugin?: () => void }>Pinia store module if required.
If the storeModule features a setupPlugin action, it will be executed automatically after initialization.
If the storeModule features a teardownPlugin action, it will be executed automatically before unloading.
The plugin that should be part of the icon menu.
Unique technical identifier.
For bundled plugins, this is its name, e.g. fullscreen.
For external plugins, use external- as a prefix and ensure uniqueness.
For publicly published plugins, it is recommended to use
polar-plugin-X as your package name and use external-X as ID.
Please do not use external-X when X is a bundled plugin.
Optionalcomponent?: A Vue component if required.
The component will be rendered by POLAR over the map.
The position is either to be determined by the plugin if layout === 'standard'
or will be determined by the layout.
Optionalicon?: stringIcon class for the plugin. This icon will be used as the default for rendering in menus.
Optionallocales?: { resources: Record<string, ResourceKey>; type: string }[]Locales used in the plugin.
The locales will be loaded to the namespace that equals the plugin's ID.
Optionaloptions?: {Configuration options. Please also note that all configuration added via plugin constructors can be overridden in
the createMap | createMap's parameter mapConfiguration .
You may use either object (or a mix of them) to create the configuration, e.g. use the constructors for a base
configuration and the mapConfiguration object to override it for various use cases.
How exactly you do this is up to you and influences the minimum API call requirements your client has.
OptionalstoreModule?: PolarPluginStore<{ setupPlugin?: () => void; teardownPlugin?: () => void }>Pinia store module if required.
If the storeModule features a setupPlugin action, it will be executed automatically after initialization.
If the storeModule features a teardownPlugin action, it will be executed automatically before unloading.
Optionalicon?: stringIcon for icon menu button. If given, render a button with the icon. When clicked, open the content of the configured plugin. If not given, render the plugin content as is inside the IconMenu.
Current examples for the usage without icon include Zoom and Fullscreen if
MapConfiguration.layout | mapConfiguration.layers is set to 'nineRegions'
Plugin store for the icon menu.