位置服务跨端开发者久等啦!
过去开发者们在 Flutter 里做定位和地图,要么自己用 MethodChannel 手写桥接,容易踩平台差异的坑,要么依赖第三方方案,能力完整度和长期维护都难有保障。
腾讯位置服务正式发布官方 Flutter 插件,定位 SDK 与地图 SDK 现已全面完成 Flutter 适配。开发者只需编写一套 Dart 代码,即可在 Android 与 iOS 双端直接调用原生级能力,无需额外适配。
这不仅大幅降低了Flutter 开发者的接入门槛,更让开发者能以最小成本获得与原生 SDK 对齐的定位和地图功能。且该插件由腾讯位置服务官方团队持续维护,确保长期稳定更新与技术支持,为您的跨端应用提供可靠的位置服务底座。
PART 01
腾讯位置服务定位 SDK:跨端定位能力一站式打包
定位插件 (tencent_location_flutter_plugin) 为同一份 Dart 代码提供跨平台的定位、地理围栏、设备朝向、坐标工具等完整能力。
# 核心能力一览
能力
说明
Android
iOS
连续定位
可订阅的位置流,支持设置回调间隔、坐标系、返回等级、逆地址解析等参数
✅
✅
单次定位
一次性获取当前定位结果,可配置超时时长
✅
✅
地理围栏
圆形 / 多边形 / 行政区划三种形态,支持进入 / 离开 / 停留事件回调
✅
✅
设备朝向
订阅式获取真北方向、磁北方向等朝向信息
✅
设备状态
随连续定位一并产生 GPS / Wi-Fi / 蜂窝 / 定位总开关等状态变化事件
✅
前台定位服务
让定位在应用进入后台时也能继续运行
✅
工具方法
坐标系互转、两点距离计算、点是否落在指定圆内等通用工具
✅
✅
多实例
同一应用内可创建多个定位 / 围栏管理器,事件流互不干扰
✅
✅
# 一段代码看懂接入
DART CODE
import 'package:tencent_location_flutter_plugin/tencent_location_flutter_plugin.dart';Future
PART 02
腾讯位置服务地图 SDK:核心功能对齐原生
地图插件( flutter_tencent_map) 首期交付的地图核心功能,覆盖地图展示、交互、覆盖物三大板块:
核心功能
说明
🗺️ 地图基础
- 创建和显示地图
- 地图类型切换(标准 / 卫星)
- 自定义地图样式(个性化地图)
- 显示定位
- 实时路况
- 3D 建筑物
- 底图标注控制
- 隐私合规
- Logo 位置控制
👆 地图交互
- 手势控制(缩放 / 滑动 / 旋转 / 倾斜)
- 点击事件(单击 / 长按 / POI 点击)
- UI 控件(指南针 / 比例尺)
- 缩放范围限制
- 显示区域限制
- 相机视角控制(含动画)
- 坐标转换(屏幕 ↔ 经纬度)
- 地图截图
📍 覆盖物
- 点标记 Marker / InfoWindow
- 折线 Polyline(折线、虚线、纹理线等)
- 多边形 Polygon(简单多边形,带洞多边形,纹理边框等)
PART 03
腾讯位置服务Flutter插件亮点
腾讯位置服务Flutter插件不是简单地把原生 API「翻译」一遍,而是围绕 Flutter 的声明式范式做了系统性的工程设计。
# 亮点 1 · 接入快
双端零配置接入,开箱即用
无论 Android 还是 iOS 都无需手动配 SDK 依赖、无需改原生工程文件,双端统一零配置,把接入成本压到最低。
● Android:工具包已发布至 Maven 中央仓库,构建工具自动拉取,无需手动配置
● IOS :依赖声明文件自动处理,执行依赖安装即用
● Key 与隐私合规:统一在 Dart 层传入
# 亮点 2 · 代码省
声明式 API,贴合 Flutter 范式
覆盖物(点标记 / 折线 / 多边形 / 圆形)采用声明式管理,只需描述"想要什么状态",插件自动对比差异、只同步变化部分,状态清晰、性能更好、代码更简洁。
同时数据模型均为不可变设计,契合 Flutter 习惯。
# 亮点 3 ·走得远
Compat分层架构,从容应对多版本
用户设备上的地图工具包版本可能不一样,而插件则是以最低版本为编译基准(Android 5.9.0 / iOS 5.7.7),通过 Compat 分层 + 启动时能力检测缓存兼容到最新版:
TECH NOTE
业务代码
→ XxxCompat(统一接口,按版本分支)
→ SdkCompat(启动时检测一次并缓存)
→ TencentMap SDK(5.9.0 ~ 最新版)
检测只在启动时做一次,运行时走纯 if/else,零反射开销;新增差异点只需改 Compat 文件,不污染业务代码。
# 亮点 4 · 适配准
渲染模式自动选择,用户可选
不必纠结Android 的两种渲染方式怎么选,插件默认自动按系统版本为你选择最优模式,同时也支持强制指定——既兼顾性能与兼容性,又把选择权交回开发者手中,灵活适配各类机型与场景。
DART CODE
enum AndroidViewMode { auto, surfaceView, textureView }
# 亮点5 · 跑得稳
初始化时序内部封装,平台细节双端一致
地图工具包初始化步骤有严格顺序要求,顺序错误会导致白屏或崩溃等问题。
从隐私合规➡️SDK启动➡️ API key➡️创建地图,插件将正确的初始化时序封装在内部,开发者无需操心。同时坐标系、覆盖物渲染等双端差异也一并细致封装与对齐,同一份代码彻底双端一致。
PART 04
接入前后,开发者省了什么
# 告别6件烦心事,Flutter插件提高开发者生产力
你以前要操心的
用了这套插件后
c手写 MethodChannel 逐个桥接原生 API
✅ 官方封装好,直接调 Dart API
Android 配依赖、配仓库、改 Manifest
✅ 双端零配置,添加依赖即用
iOS 改 AppDelegate 初始化 SDK
✅ Key 与隐私合规统一 Dart 层传入
自己处理 Android / iOS API 差异
✅ 上层代码双端一致,差异内部消化
命令式增删覆盖物、手动管状态
✅ 声明式 + 增量更新,状态可预测
担心插件长期维护与更新节奏
✅ 官方出品,持续迭代有保障
💡一句话总结:你写业务,跨端的复杂度交给官方插件。
您在使用过程中有任何问题
都可前往腾讯位置服务官网「提交工单」
您还可以点击下方小程序
一键成为腾讯位置服务开发者!