# MapNavigatorDemo **Repository Path**: qq1963861722/MapNavigatorDemo ## Basic Information - **Project Name**: MapNavigatorDemo - **Description**: 在 HarmonyOS 应用开发中,经常需要跳转第三方地图应用(如 **腾讯地图、百度地图、高德地图**)进行导航。本仓库提供 **MapNavigator** 工具类的封装示例,能够: - 判断地图应用是否安装 - 支持两种导航拉起方式:`startAbility` 与 `openLink` - 未安装时统一提示用户 - 支持传递导航参数(起点/终点坐标、路线类型等) - 演示 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MapNavigatorDemo #### 介绍 在 HarmonyOS 应用开发中,经常有开发者在社区中询问如何跳转第三方地图应用(如 **腾讯地图、百度地图、高德地图**)进行导航。本仓库提供 **MapNavigator** 工具类的封装示例,能够: * 判断地图应用是否安装 * 支持两种导航拉起方式:`startAbility` 与 `openLink` * 未安装时统一提示用户 * 支持传递导航参数(起点/终点坐标、路线类型等) * 提供完整示例供参考 #### 软件架构 本仓库采用模块化设计: * `MapNavigator.ts`:核心工具类,封装导航逻辑 * `OpenMethod.ts`:统一封装 `startAbility` 与 `openLink` 的调用方式 * `LogUtil.ts`:日志打印工具 * 示例页面:展示如何调用 MapNavigator 拉起不同地图应用 软件架构特点: * 高度解耦:导航逻辑和 UI 分离 * 扩展性强:可增加更多地图或导航参数 * 错误统一处理:未安装地图应用时提示用户 #### 安装教程 1. 克隆仓库: ```bash git clone https://gitee.com/qq1963861722/MapNavigatorDemo.git ``` 2. 在 DevEco Studio 中打开项目 3. 配置 `module.json5` 中的 `querySchemes`: ```json "querySchemes": ["qqmap", "baidumap", "amapuri"] ``` 4. 编译并运行到 HarmonyOS 设备或模拟器 #### 使用说明 1. 在页面中实例化 `MapNavigator`: ```ts const navigator = new MapNavigator(this.context) ``` 2. 调用导航方法: ```ts navigator.openTencentMapByWant('我的位置', 39.908823, 116.397470, '天安门', 39.915156, 116.403694) ``` 3. 系统会自动判断应用是否安装,未安装则显示统一提示 #### 参与贡献 1. Fork 本仓库 2. 新建 `Feat_xxx` 分支 3. 提交代码 4. 新建 Pull Request