map_launcher library

Map Launcher. Opens maps on all Flutter platforms.

Uses universal links (HTTPS URLs), with native app detection on mobile.

Quick Start

import 'package:map_launcher/map_launcher.dart';

// Show a marker (uses Apple Maps on iOS, Google Maps elsewhere)
await MapLauncher.marker(.coords(48.85, 2.29, title: 'Eiffel Tower')).show();

// Show directions
await MapLauncher.directions(.coords(48.85, 2.29), mode: .walking).show();

// Specific app with extras
await MapLauncher.marker(.coords(48.85, 2.29)).show(
  map: .google,
  extra: GoogleExtra(queryPlaceId: 'ChIJLU7j...'),
);

// Discover available maps
final maps = await MapLauncher.marker(.coords(48.85, 2.29))
    .getSupportedMaps([.apple, .google, .waze]);

Classes

AirNavPro
Air Navigation Pro. Flight navigation, marker only.
Amap
Amap (Gaode Maps). Mobile only, directions with origin and travel mode.
AppleExtra
Apple Maps-specific URL parameters.
AppleMaps
Apple Maps. Supports coordinates, text queries, directions with origin and travel mode. No waypoint support.
BaiduMaps
Baidu Maps. Mobile only, directions with origin and travel mode.
Citymapper
Citymapper. Directions only, with optional origin.
CoPilot
CoPilot. Mobile only, destination only.
DirectionsRequest
An immutable request to show directions on a map.
DoubleGis
2GIS. Supports coordinates, directions with origin and travel mode.
Flitsmeister
Flitsmeister. Traffic/navigation only.
GoogleExtra
Google Maps-specific URL parameters.
GoogleMaps
Google Maps. Supports coordinates, text queries, directions with origin, waypoints, and travel mode.
GoogleMapsGo
Google Maps Go. Android only, coordinates, directions with travel mode.
HereWeGo
HERE WeGo. Supports coordinates, directions with origin and travel mode.
KakaoMap
KakaoMap. Mobile only, directions with origin.
Location
Represents a location that can be either coordinates or a text search query.
LocationCoords
A coordinate-based location with latitude, longitude, and optional title.
LocationSearch
A text search-based location (e.g., "Coffee shops near me").
MagicEarth
Magic Earth. Mobile only, uses magicearth:// scheme.
MapApp
A map application that can show markers and directions.
MapLauncher
Entry point for launching map applications across all Flutter platforms.
Mappls
Mappls (MapmyIndia). Supports coordinates, directions with travel mode.
MapsMe
MAPS.ME. Mobile only, destination only.
MapyCz
Mapy.cz. Coordinates only, destination only.
MarkerRequest
An immutable request to show a marker on a map.
Moovit
Moovit. Mobile only, directions with origin.
Naver Map. Mobile only, directions with origin.
Neshan
Neshan. Mobile only, directions with origin.
OsmAnd
OsmAnd. Mobile only, iOS uses scheme, Android uses http.
OsmAndPlus
OsmAnd+. Same as OsmAnd but different package identifier.
PetalMaps
Petal Maps. Android only, directions with origin and travel mode.
SupportedMap
Runtime information about a map app's availability on the current device.
SygicTruck
Sygic Truck. Mobile only, destination only, pipe-separated URL.
TencentExtra
Tencent (QQ Maps)-specific URL parameters.
TencentMaps
Tencent (QQ Maps). Mobile only, directions with origin and travel mode.
TMap
TMap. Mobile only, directions with origin.
TomTomGo
TomTom Go. Navigation only, destination only.
TomTomGoFleet
TomTom Go Fleet. Android only, navigation only.
Waze
Waze. Navigation only, coordinates, single destination.
WazeExtra
Waze-specific URL parameters.
YandexMaps
Yandex Maps. Supports coordinates, directions with origin, waypoints, and travel mode.
YandexNavi
Yandex Navigator. Mobile only, directions with origin and waypoints.
YandexNaviExtra
Yandex Navigator-specific URL parameters.

Enums

AppleMapDisplay
Display mode for Apple Maps.
MapPlatform
The platform the app is running on, used for selecting URL schemes.
TravelMode
Defines the supported modes of transportation for directions.

Exceptions / Errors

MapLaunchException
Thrown when launching a map URL fails.