petalmaps_ohos 0.0.1 copy "petalmaps_ohos: ^0.0.1" to clipboard
petalmaps_ohos: ^0.0.1 copied to clipboard

Flutter 花瓣地图(PetalMaps)插件,支持 HarmonyOS/OpenHarmony。调起地图首页、地点搜索、地点详情、路线规划、导航、打车等能力。

petalmaps_ohos #

Flutter 花瓣地图(PetalMaps)插件,支持 HarmonyOS/OpenHarmony 平台。通过系统地图能力(@kit.MapKit 的 petalMaps)调起花瓣地图应用,实现打开首页、地点搜索、地点详情、路线规划、导航、打车等功能。

1. 安装与使用 #

1.1 安装方式 #

在工程目录的 pubspec.yaml 中添加依赖:

方式一:Pub 依赖(推荐)

dependencies:
  petalmaps_ohos: ^0.0.1

方式二:Git 依赖

dependencies:
  petalmaps_ohos:
    git:
      url: https://atomgit.com/oh-flutter/petalMaps_ohos.git
      path: .
      ref: main

方式三:本地路径依赖

dependencies:
  petalmaps_ohos:
    path: ../petalmaps_ohos

然后执行:

flutter pub get

1.2 使用案例 #

使用示例见 example 目录。

import 'package:petalmaps_ohos/petalmaps_ohos.dart';

final plugin = PetalmapsOhos();

// 打开地图首页
await plugin.openMapHomePage();

// 地点搜索
await plugin.openMapTextSearch(destinationName: '云谷');

// 查看地点详情
await plugin.openMapPoiDetail(
  latitude: 32.02065982629459,
  longitude: 118.788899213002,
  destinationPoiId: '563233191438217472',
);

// 路线规划
await plugin.openMapRoutePlan(
  latitude: 31.983015468224288,
  longitude: 118.78058590757131,
);

// 导航
await plugin.openMapNavi(
  latitude: 31.983015468224288,
  longitude: 118.78058590757131,
);

// 打车
await plugin.openMapTaxi(
  latitude: 31.983015468224288,
  longitude: 118.78058590757131,
);

2. 约束与限制 #

2.1 兼容性 #

在以下版本中已测试通过:

项目 版本
Flutter 3.35.8-ohos-0.0.2
Dart 3.9.2
SDK 5.1.0(18)
IDE DevEco Studio 6.0.2 Release
ROM 6.0.0.130 SP15

2.2 权限与依赖 #

调起花瓣地图应用依赖系统 @kit.MapKit,无需在插件 HAR 的 module.json5 中额外声明权限。设备需已安装花瓣地图应用,否则调起可能失败。

3. API #

“ohos Support” 列:yes 表示 OHOS 支持,no 表示不支持。

3.1 PetalmapsOhos(主入口) #

Name return Description Type ohos Support
getPlatformVersion() Future<String?> 获取平台版本信息 function yes
openMapHomePage() Future<void> 打开地图应用首页 function yes
openMapTextSearch({required String destinationName}) Future<void> 打开地图应用进行地点搜索 function yes
openMapPoiDetail({required double latitude, required double longitude, String? destinationPoiId}) Future<void> 打开地图应用查看地点详情 function yes
openMapRoutePlan({required double latitude, required double longitude, double? originLatitude, double? originLongitude, String? destinationName}) Future<void> 打开地图应用规划路线 function yes
openMapNavi({required double latitude, required double longitude, String? destinationName}) Future<void> 打开地图应用进行导航 function yes
openMapTaxi({required double latitude, required double longitude, String? destinationName}) Future<void> 打开地图应用打车页面 function yes

3.2 参数说明 #

方法 必填参数 可选参数
openMapTextSearch destinationName:搜索目标名称 -
openMapPoiDetail latitude:纬度,longitude:经度 destinationPoiId:POI ID
openMapRoutePlan latitude:目的地纬度,longitude:目的地经度 originLatitude、originLongitude:起点;destinationName:目的地名称
openMapNavi latitude:目的地纬度,longitude:目的地经度 destinationName:目的地名称
openMapTaxi latitude:目的地纬度,longitude:目的地经度 destinationName:目的地名称

4. 错误处理 #

所有方法在调起失败时会抛出 PlatformException,建议使用 try/catch 捕获:

try {
  await plugin.openMapHomePage();
} on PlatformException catch (e) {
  // e.code 为方法相关错误码,e.message 为系统返回信息
}

5. 遗留问题 #

无。

6. 其他 #

实现原理:Dart 通过 MethodChannel(petalmaps_ohos)调用原生方法;OHOS 端实现 AbilityAware 获取 UIAbilityContext,使用 @kit.MapKit 的 petalMaps.openMapHomePage、openMapTextSearch、openMapPoiDetail、openMapRoutePlan、openMapNavi、openMapTaxi 调起花瓣地图应用。

参考文档华为地图 PetalMaps 调起能力

7. 开源协议 #

本项目采用 Apache License 2.0,详见 LICENSE 文件。

版权 © 坚果派

0
likes
115
points
64
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter 花瓣地图(PetalMaps)插件,支持 HarmonyOS/OpenHarmony。调起地图首页、地点搜索、地点详情、路线规划、导航、打车等能力。

Repository
View/report issues

Documentation

Documentation
API reference

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on petalmaps_ohos

Packages that implement petalmaps_ohos