LunaGao / flutter_amap_track

高德地图猎鹰服务Flutter插件,支持Android&iOS

Home Page:https://github.com/ColdPuppy/flutter_amap_track

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flutter_amap_track

pub package

本插件为高德猎鹰Api的搬运和实现

Android猎鹰文档

iOS猎鹰文档

Android

配置高德key

为了保证高德 Android SDK 的功能正常使用,您需要申请高德 Key 并且配置到项目中。在项目的 “AndroidManifest.xml” 文件中,添加如下代码:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <meta-data 
        android:name="com.amap.api.v2.apikey" 
        android:value="请输入您的用户Key"/> 
        …… 
</application>

iOS

添加时注意:

  1. 删除flutter_amap_track-umbrella.h 文件中的 #import "ObjFlutterAmapTrackPlugin.h" 这行代码。
  2. 点击Pod项目,选择flutter_amap_track这个target,选择Build Phases, 点开Headers,移动ObjFlutterAmapTrackPlugin.h文件到Private下。

更改info.plist 及 配置后台定位

在info.plist的字段添加定位权限的申请及配置后台定位能力,配置方式请参考iOS 猎鹰SDK 手动部署部分说明

设置apikey

AmapTrack.getInstance().setIOSApiKey('xxx');

使用

全局设置serviceId并初始化猎鹰组件

    AmapTrack.getInstance().initWithServiceId(xxx);

终端管理

  1. 查询终端
try {
	var response = await AmapTrack.getInstance()
		.queryTerminal(QueryTerminalRequest(
			terminal: terminalName));
	...
  } on ErrorResponse catch (e) {
	print('${e.errorCode} | ${e.errorMsg} | ${e.errorDetail}');
  }
  1. 创建终端
try {
	var response = await AmapTrack.getInstance()
		.addTerminal(
			AddTerminalRequest(terminal: terminalName));
	...
  } on ErrorResponse catch (e) {
	...
  }

轨迹上报

  1. 开启轨迹服务
await AmapTrack.getInstance().startTrack(TrackParam(tid:  tid,trid: trid));
  1. 开启定位采集
await AmapTrack.getInstance().startGather();
  1. 结束定位采集
await AmapTrack.getInstance().stopGather();
  1. 结束轨迹服务
await AmapTrack.getInstance().stopTrack(TrackParam(tid: tid,trid: trid));

轨迹查询

  1. 查询终端实时位置
var latestPoint = await AmapTrack.getInstance().queryLatestPoint(LatestPointRequest(tid: tid));
  1. 查询终端行驶里程
var distanceResponse = await AmapTrack.getInstance().queryDistance(DistanceRequest(...));
  1. 查询终端所有轨迹点
var historyTrackResponse = await AmapTrack.getInstance().queryHistoryTrack(HistoryTrackRequest(...));
  1. 查询终端某个轨迹的轨迹点
var queryTrackResponse = await AmapTrack.getInstance().queryTerminalTrack(QueryTrackRequest(...));

本插件API更多参考的是官方Android猎鹰API,兼容了iOS部分,更多api及参数可前往官网查询

About

高德地图猎鹰服务Flutter插件,支持Android&iOS

https://github.com/ColdPuppy/flutter_amap_track

License:MIT License


Languages

Language:Dart 46.1%Language:Objective-C 27.5%Language:Java 24.3%Language:Ruby 2.1%