概述

腾讯定位服务 Flutter 插件(tencent_location_flutter_plugin)是腾讯位置服务面向 Flutter 开发者推出的官方插件,为同一份 Dart 代码提供跨平台的定位、地理围栏、设备朝向、坐标工具等能力。

本文档介绍插件提供的核心能力、平台支持矩阵以及版本范围。



核心能力

能力 说明 Android iOS HarmonyOS
连续定位 可订阅的位置流,支持设置回调间隔、坐标系、返回等级、逆地址解析等参数
单次定位 一次性获取当前定位结果,可配置超时时长
地理围栏 圆形 / 多边形 / 行政区划三种形态,支持进入 / 离开 / 停留事件回调 ⚠️ 仅圆形
设备朝向 订阅式获取真北方向、磁北方向等朝向信息 ⚠️ 仅真北方向
设备状态 随连续定位一并产生的 GPS / Wi-Fi / 蜂窝 / 定位总开关等状态变化事件
前台定位服务 让定位在应用进入后台时也能继续运行
后台定位任务 鸿蒙独有:通过独立 API 让定位在应用进入后台时继续运行
工具方法 两点距离计算、点是否落在指定圆内(三端通用);GPS 能力查询(仅 Android);坐标是否在国内(仅 iOS);WGS-84 转 GCJ-02(iOS / HarmonyOS)
多实例 同一应用内可创建多个定位管理器或围栏管理器实例,事件流互不干扰

表中 表示该平台原生支持,⚠️ 表示部分支持(在对应功能文档中详述), 表示原生未提供对应能力。各 API 在单端不支持时的具体行为(抛错或订阅静默),见对应章节。

平台支持

平台 当前版本状态 底层 SDK
Android 已支持 腾讯定位 SDK Android
iOS 已支持 腾讯定位 SDK iOS
HarmonyOS 已支持 腾讯定位 SDK HarmonyOS

HarmonyOS 端需要使用 OpenHarmony 社区维护的鸿蒙分支 Flutter(3.22.0-ohos)编译,具体接入步骤见 集成 Flutter 插件

各 API 的更细粒度的平台差异(例如「连续定位三端通用,前台服务仅 Android 可用」),请见对应章节。

文档结构

一行示例

import 'package:tencent_location_flutter_plugin/tencent_location_flutter_plugin.dart';

Future<void> main() async {
  await TencentLocationSDK.setPrivacyPolicyAgreement(true);
  await TencentLocationSDK.init(
    androidApiKey: 'YOUR_ANDROID_API_KEY',
    iosApiKey: 'YOUR_IOS_API_KEY',
    harmonyApiKey: 'YOUR_HARMONY_API_KEY',
  );

  final manager = TencentLocationManager();
  final location = await manager.startSingleLocation(
    TencentLocationRequest.create()
      ..setRequestLevel(RequestLevel.adminArea),
  );
  print('当前位置:${location.latitude}, ${location.longitude}');
  await manager.dispose();
}

完整步骤见 快速开始

本页内容