ensemble_location

ensemble_location adds location services and a Google Maps-backed Map widget to Ensemble.

Overview

This is an optional native module. LocationModuleImpl registers LocationManagerImpl and EnsembleMapWidget with GetIt, allowing the core runtime to access device location and render the Ensemble Map widget.

Features

  • Implements location status and current-location lookup through geolocator.
  • Registers the Ensemble widget type Map.
  • Provides marker templates and map UI helpers under lib/widget/maps/.
  • Uses google_maps_flutter for map rendering.

Installation / Setup

Use this package from inside the Melos workspace:

melos bootstrap

Usage

The verified widget type is Map, implemented by EnsembleMapWidget in lib/widget/maps/maps.dart. A complete, source-verified YAML example was not found in this package, so no YAML properties are documented here.

Configuration

Host apps that render maps must configure Google Maps for their target platforms. API keys or platform setup files were not found in this package.

Platform Support

Platform Supported Notes
Android Unknown No Android project is included in this package; host app setup is required.
iOS Unknown No iOS project is included in this package; host app setup is required.
Web Unknown No web implementation was found in this package.
macOS Unknown No macOS project is included in this package.
Windows Unknown No Windows project is included in this package.
Linux Unknown No Linux project is included in this package.

Permissions

LocationManagerImpl checks location service status and requests location permission through Geolocator.requestPermission(). Platform manifest entries and iOS usage descriptions are not declared in this package and must be configured in the host app.

API Reference

API Type Description
LocationModuleImpl Module Registers location and map services with GetIt.
LocationManagerImpl Service Implements location status and current location lookup.
EnsembleMapWidget Widget Ensemble widget implementation for the Map type.
MyController Controller Controller for the map widget.

Development

melos bootstrap
melos exec --scope="ensemble_location" -- flutter analyze
melos exec --scope="ensemble_location" -- flutter test

Testing

No package-specific tests were found.

  • ensemble: defines the location and map contracts implemented by this module.

Notes for Contributors

  • Keep examples in sync with source code.
  • Update this README when public APIs, permissions, configuration, or platform support changes.
  • Do not document unverified behavior.

Libraries

ensemble_location
Entry point for Ensemble's location module.
location_manager
Location manager implementation for Ensemble apps.
location_module
Registers location services and widgets with Ensemble.
widget/maps/custom_marker_pin
Custom map marker pin widgets for Ensemble maps.
widget/maps/map_actions
widget/maps/maps
widget/maps/maps_overlay
widget/maps/maps_state
widget/maps/maps_toolbar
widget/maps/maps_utils
widget/maps/widget_to_marker