Flutter map_launcher_ohos 包在鸿蒙上的使用指南
map_launcher_ohos是专为鸿蒙系统适配的Flutter地图启动插件,支持调用高德、Google等主流地图应用。主要功能包括:显示地图标记(支持自定义标题和缩放)、多种导航模式(驾车/步行/公交/骑行)、途经点设置及地图可用性检查。安装简便,通过Git依赖配置即可使用,需在鸿蒙配置文件中添加querySchemes支持。提供简洁API,支持地图选择弹窗,兼容多种测试环境。适用于旅游、导
1. 插件介绍
map_launcher_ohos 是一个专为鸿蒙系统适配的 Flutter 地图启动插件,基于 map_launcher 开发。该插件允许您在 Flutter 应用中轻松调用设备上已安装的地图应用(如高德地图、Google 地图、花瓣地图等),实现地图标记显示和导航路线规划功能。
1.1 主要功能
- 多地图应用支持:支持高德地图、Google 地图、Google Go、花瓣地图等多种主流地图应用
- 地图标记显示:在指定位置显示标记点,支持自定义标题和缩放级别
- 导航路线规划:支持驾车、步行、公共交通、骑自行车四种导航模式
- 途经点设置:支持添加多个途经点进行路线规划
- 地图可用性检查:可检查指定地图应用是否在设备上可用
- 地图选择弹窗:提供默认的地图选择弹窗,方便用户选择偏好的地图应用
1.2 应用场景
- 旅游类应用:显示景点位置标记
- 导航类应用:规划出行路线
- 生活服务应用:显示商家位置
- 物流配送应用:显示配送点位置和路线
2. 安装与配置
2.1 Git 依赖配置
在项目的 pubspec.yaml 文件中添加以下依赖:
dependencies:
map_launcher_ohos:
git:
url: "https://gitcode.com/openharmony-sig/fluttertpc_map_launcher.git"
path: "ohos"
添加依赖后,执行以下命令获取依赖包:
flutter pub get
2.2 配置 querySchemes
在鸿蒙应用的 entry/src/main/module.json5 文件中添加 querySchemes 配置,以支持地图应用的调用:
{
"module": {
"name": "entry",
"type": "entry",
"description": "",
"mainElement": "EntryAbility",
"deviceTypes": ["phone", "tablet"],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
// 能力配置
],
"querySchemes": [
"alipays",
"amapuri",
"zhihu",
"baidumap",
"maps"
]
}
}
3. API 使用示例
3.1 导入依赖
import 'package:map_launcher_ohos/map_launcher_ohos.dart';
3.2 显示地图标记
以下示例展示如何在地图上显示一个标记点:
// 显示地图选择弹窗
MapsSheet.show(
context: context,
onMapTap: (map) {
map.showMarker(
coords: Coords(22.592429967609824, 114.30795419058587), // 坐标(纬度, 经度)
title: '大梅沙海滨公园', // 标记标题
zoom: 18, // 缩放级别(可选)
);
},
);
3.3 显示导航路线
以下示例展示如何规划从起点到终点的导航路线:
// 显示地图选择弹窗
MapsSheet.show(
context: context,
onMapTap: (map) {
map.showDirections(
// 终点坐标
destination: Coords(22.592429967609824, 114.30795419058587),
destinationTitle: '大梅沙海滨公园',
// 起点坐标(可选,不提供则使用当前位置)
origin: Coords(22.60211, 114.32841),
originTitle: '小梅沙海洋公园',
// 途经点(可选)
waypoints: [
Waypoint(22.60211, 114.34841),
],
// 导航模式(可选,默认为驾车模式)
directionsMode: DirectionsMode.driving,
);
},
);
3.4 检查地图应用可用性
// 检查高德地图是否可用
bool? isAmapAvailable = await MapLauncher.isMapAvailable(MapType.amap);
// 检查 Google 地图是否可用
bool? isGoogleAvailable = await MapLauncher.isMapAvailable(MapType.google);
3.5 获取已安装的地图应用列表
// 获取设备上已安装的地图应用列表
List<AvailableMap> maps = await MapLauncher.installedMaps;
// 遍历并使用地图应用
for (var map in maps) {
// 可以直接使用 map.showMarker 或 map.showDirections
}
4. 导航模式说明
map_launcher_ohos 支持以下四种导航模式:
| 导航模式 | 描述 |
|---|---|
DirectionsMode.driving |
驾车模式 |
DirectionsMode.walking |
步行模式 |
DirectionsMode.transit |
公共交通模式 |
DirectionsMode.bicycling |
骑自行车模式 |
5. 兼容性
该插件已在以下环境中测试通过:
- Flutter: 3.7.12-ohos-1.0.6; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3
- Flutter: 3.22.1-ohos-1.0.1; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3
6. 总结
map_launcher_ohos 是一个功能强大的地图启动插件,为 Flutter 开发者提供了在鸿蒙系统上集成多种地图应用的便捷方式。通过简单的 API 调用,开发者可以实现地图标记显示和导航路线规划等功能,提升应用的实用性和用户体验。
该插件具有以下特点:
- 支持多种主流地图应用
- 提供简洁易用的 API 接口
- 支持多种导航模式
- 提供地图选择弹窗
- 适配鸿蒙系统的特性和限制
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
更多推荐


所有评论(0)