Platforms and setup
Native platforms: ios, android.
Public actions
MapyCz.open
factory MapyCz.open({final bool fallbackToStore = false})
Launch with DeeplinkX.launchApp. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
fallbackToStore | bool | No | false |
MapyCz.view
static MapyCzViewAction view({ required final Coordinate coordinate, final int zoom = 16, final MapyCzMapSet mapSet = MapyCzMapSet.basic, final bool marker = true, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
coordinate | Coordinate | Yes | — |
zoom | int | No | 16 |
mapSet | MapyCzMapSet | No | MapyCzMapSet.basic |
marker | bool | No | true |
fallbackToStore | bool | No | false |
MapyCz.search
static MapyCzSearchAction search({ required final String query, final Coordinate? center, final int? zoom, final MapyCzMapSet mapSet = MapyCzMapSet.basic, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
query | String | Yes | — |
center | Coordinate? | No | — |
zoom | int? | No | — |
mapSet | MapyCzMapSet | No | MapyCzMapSet.basic |
fallbackToStore | bool | No | false |
MapyCz.directionsWithCoords
static MapyCzDirectionsWithCoordsAction directionsWithCoords({ required final Coordinate destination, final Coordinate? origin, final List<Coordinate> waypoints = const [], final MapyCzRouteType routeType = MapyCzRouteType.carFast, final MapyCzMapSet mapSet = MapyCzMapSet.basic, final bool navigate = false, final bool fallbackToStore = false, })
Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.
| Parameter | Type | Required | Default |
|---|---|---|---|
destination | Coordinate | Yes | — |
origin | Coordinate? | No | — |
waypoints | List<Coordinate> | No | const [] |
routeType | MapyCzRouteType | No | MapyCzRouteType.carFast |
mapSet | MapyCzMapSet | No | MapyCzMapSet.basic |
navigate | bool | No | false |
fallbackToStore | bool | No | false |
Provider setup and examples
DeeplinkX supports Mapy.com (formerly Mapy.cz) URL actions for showing a point, searching, and planning a coordinate route. The documented HTTPS URLs open the mobile app when supported and otherwise remain usable as web fallbacks.
References
- Official Mapy.com URL documentation: https://developer.mapy.com/further-uses-of-mapycz/mapy-cz-url/
- Official mobile-app invocation documentation: https://developer.mapy.com/cs/dalsi-vyuziti-mapy-cz/volani-mobilni-aplikace-mapy-cz/
- Google Play listing: https://play.google.com/store/apps/details?id=cz.seznam.mapy
- App Store listing: https://apps.apple.com/us/app/mapy-com-offline-maps-gps/id411411020
Available Actions
Launch Mapy.com
final deeplinkX = DeeplinkX();
await deeplinkX.launchApp(MapyCz.open());
View Map
await deeplinkX.launchAction(
MapyCz.view(
coordinate: const Coordinate(latitude: 50.0755, longitude: 14.4378),
zoom: 15,
mapSet: MapyCzMapSet.outdoor,
),
);
The view action supports the basic, outdoor, winter, aerial, and traffic map sets. A marker is shown by default.
Search
await deeplinkX.launchAction(
MapyCz.search(
query: 'coffee shop',
center: const Coordinate(latitude: 50.0755, longitude: 14.4378),
zoom: 14,
),
);
The center and zoom are optional.
Directions With Coordinates
await deeplinkX.launchAction(
MapyCz.directionsWithCoords(
origin: const Coordinate(latitude: 50.0755, longitude: 14.4378),
destination: const Coordinate(latitude: 50.0292, longitude: 14.3681),
waypoints: const [
Coordinate(latitude: 50.0335, longitude: 14.5087),
],
routeType: MapyCzRouteType.carFastTraffic,
mapSet: MapyCzMapSet.traffic,
navigate: true,
),
);
The origin is optional, and Mapy.com accepts up to 15 waypoints. Route types cover fast, traffic-aware, and short driving; fast walking and hiking; and road or mountain cycling. navigate: true requests immediate navigation in app versions released from April 2024 onward.
Platform Configuration
iOS
Add the Mapy.com installation-check scheme to LSApplicationQueriesSchemes in ios/Runner/Info.plist:
<string>szn-mapy</string>
Actions themselves use the provider's HTTPS URLs. Mapy.com's mobile-app documentation notes that iOS callers cannot directly target only the native app, so launch behavior must be verified on a device.
Android
Allow querying the package in android/app/src/main/AndroidManifest.xml:
<queries>
<package android:name="cz.seznam.mapy" />
</queries>
DeeplinkX targets the HTTPS URL to cz.seznam.mapy through an Android VIEW intent.
URL Formats
- View map:
https://mapy.com/fnc/v1/showmap?mapset={mapSet}¢er={longitude},{latitude}&zoom={zoom}&marker={marker} - Search:
https://mapy.com/fnc/v1/search?mapset={mapSet}&query={query} - Route:
https://mapy.com/fnc/v1/route?mapset={mapSet}&start={longitude},{latitude}&end={longitude},{latitude}&routeType={routeType}
Fallback Behavior
- DeeplinkX opens the native app when the platform accepts the URL for the installed app.
- If the app is missing and
fallbackToStoreistrue, DeeplinkX redirects to the appropriate store listing. - Otherwise the action falls back to the same Mapy.com HTTPS URL.
- Set
disableFallback: truewhen callinglaunchActionto skip both store and web fallbacks.
| Action | Store Fallback | Web Fallback |
|---|---|---|
| Open app | ✔️ | ✔️ (website) |
| View map | ✔️ | ✔️ |
| Search | ✔️ | ✔️ |
| Directions with coordinates | ✔️ | ✔️ |