更新记录

1.0.2(2026-03-20) 下载此版本

  • 修复:空包问题

1.0.1(2026-03-20) 下载此版本

  • 修复:空包问题

1.0.0(2026-03-19) 下载此版本

  • 新增:鸿蒙 Next(API 11+)地图统一接口骨架
  • 新增:定位/权限(Harmony 原生 geolocation)
  • 新增:地图显示/标记点的官方 SDK 接入层(默认不强依赖,按 README 接入)
查看更多

平台兼容性

uni-app(4.45)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.45)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - -

zy-next-map(鸿蒙 Next|高德/百度地图统一封装 UTS 插件)

简介

鸿蒙 Next 高德/百度地图原生封装插件,提供统一调用接口,支持地图显示、定位、标记点等基础能力,无第三方依赖与token消耗,适配原子化服务场景。

适用平台

  • app-harmony(鸿蒙 Next / API 11+)

能力清单

  • 定位(可直接用):基于鸿蒙原生 @ohos.geoLocationManager
  • 权限(可直接用):基于鸿蒙原生 @ohos.abilityAccessCtrl
  • 地图显示/标记点(需接入官方地图 SDK):提供统一接口与接入层骨架

说明:本插件不调用任何第三方开源模型或付费 Web API。地图渲染能力来自“官方地图 SDK(高德/百度)”的本地能力。插件自身不产生 token 消耗。

安装

将本插件放置在项目 uni_modules/zy-next-map,或通过插件市场安装后,按下方示例使用。

快速使用(示例)

1)初始化(选择高德/百度)

import { zyNextAmapBaiduMap } from '@/uni_modules/zy-next-map/utssdk'

await zyNextAmapBaiduMap.init({
  provider: 'amap', // 或 'baidu'
  debug: true
})

2)申请定位权限 + 获取定位

const perm = await zyNextAmapBaiduMap.requestLocationPermission({ background: false })
if (perm !== 'granted') throw new Error('未授予定位权限')

const loc = await zyNextAmapBaiduMap.getLocation({ accuracy: 'high', timeoutMs: 8000 })
console.log('loc=', loc)

3)打开地图 + 标记点

const map = await zyNextAmapBaiduMap.openMap({
  title: '地图',
  center: { latitude: 39.9087, longitude: 116.3975 },
  zoom: 15,
  markers: [
    { id: 'm1', position: { latitude: 39.9087, longitude: 116.3975 }, title: '天安门' }
  ]
})

await map.upsertMarker({
  id: 'm2',
  position: { latitude: 39.9139, longitude: 116.3917 },
  title: '第二个点'
})

注意:如果你尚未接入高德/百度官方 SDK,openMap() 默认返回“占位控制器”,不会展示真实地图(用于保证未集成 SDK 也能正常编译运行)。

官方地图 SDK 接入说明(必须)

由于插件不内置任何第三方二进制与 token,地图渲染依赖你在宿主 Harmony 工程中接入对应的官方 SDK(高德/百度)。

接入方式建议

  • 方式 A(推荐):通过官方提供的 ohpm 包或 .har 依赖接入
  • 方式 B:将官方 SDK 的 .har 放入宿主工程并在 oh-package.json5 引用

接入完成后,你需要在 utssdk/app-harmony/providers/ 中把占位控制器替换为真实实现:

  • 高德:编辑 utssdk/app-harmony/providers/amap.uts
  • 百度:编辑 utssdk/app-harmony/providers/baidu.uts

统一入口仍在 utssdk/app-harmony/engine.uts,它会按 provider 自动选择高德/百度 Provider。

Context 注入(权限申请所需)

插件内部会尝试从 globalThis.__uniContextglobalThis.context 读取 Harmony Context。

如果你在运行时遇到错误:未获取到 Harmony Context,请按 README 在应用侧注入 __uniContext 请在宿主应用启动时注入(示例伪码,按你的工程结构放置):

// 在 UIAbility / Application 的合适位置
(globalThis as any).__uniContext = this.context

目录结构

  • package.json:上架元信息
  • utssdk/:UTS 代码
    • src/:对外统一 API + 类型
    • app-harmony/:Harmony 平台实现(定位/权限已可用,地图为接入层骨架)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

可能需要:位置权限(前台/后台按业务选择)。地图 SDK 若要求网络访问,请在应用侧配置网络权限。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

不采集任何用户数据;定位能力由系统接口提供

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无内置广告

许可协议

本插件源码以 MIT License 发布。

Copyright (c) 2026

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

暂无用户评论。