目录
-
- 前言
-
- 首先,创建服务
- 2.1 创建圆形围栏
- 2.2 查询围栏
-
- 创建终端
- 4.1 创建轨迹(belong 终端)
- 4.2 上传位置到轨迹(belong 轨迹)
- 4.3 查询轨迹
- 5.1 关联终端(tid)和围栏(gfid)
- 6.1 (重点) 查询指定坐标是否在围栏中
- 6.2 查询检测对象与围栏关系
前言
猎鹰的性质, 应该是多对多, 不能直接查询某个坐标是否在围栏中; 而是要先创建终端, 再把终端的坐标传到终端上 , 然后通过API来判断终端是否在围栏中
官方文档: 任何的移动设备、车辆都可以被视为一个终端
1.首先. 创建服务 POST
# 文档地址
https://developer.amap.com/api/track/lieying-kaifa/api/service
# CURL
curl --location --request POST 'https://tsapi.amap.com/v1/track/service/add' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=YOUR_KEY' \
--data-urlencode 'name=server01'
# 结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"name": "server01",
"sid": 1008611 //serverId 后面有用
}
}
2.1 创建圆形围栏 POST
curl --location --request POST 'https://tsapi.amap.com/v1/track/geofence/add/circle' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=YOUR_KEY' \
--data-urlencode 'sid=1009348' \
--data-urlencode 'name=geofence01' \
--data-urlencode 'center=116.478935,39.997761' \
--data-urlencode 'radius=1000'
# 结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"gfid": 1153882 # 围栏ID
}
}
2.2 查询围栏 gfid
curl --location --request GET 'https://tsapi.amap.com/v1/track/geofence/list?key=YOUR_KEY&sid=1009348&gfids=1153882&outputshape=1'
# 返回结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"count": 1,
"results": [
{
"gfid": 1153882,
"name": "geofence01",
"shape": {
"center": "116.478935,39.997761",
"radius": 1000
},
"createtime": 1700106715060,
"modifytime": 1700106715060
}
]
}
}
3. 创建终端 tid
curl --location --request POST 'https://tsapi.amap.com/v1/track/terminal/add' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=YOUR_KEY' \
--data-urlencode 'sid=1009348' \
--data-urlencode 'name=machine01'
# 响应结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"name": "machine01",
"tid": mk788485651,
"sid": 1009348
}
}
4.1 创建轨迹(belong to 终端)
curl --location --request POST 'https://tsapi.amap.com/v1/track/trace/add' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=YOUR_KEY' \
--data-urlencode 'sid=1009348' \
--data-urlencode 'tid=788485651'
# 结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"trid": 20
}
}
4.2 上传位置到轨迹(belong 轨迹)
- 报unknow error(points要设为数组 [{data1}{data2}] )
文档
https://developer.amap.com/api/track/lieying-kaifa/api/track-sdk
接口
curl --location --request POST 'https://tsapi.amap.com/v1/track/point/upload' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=you_key' \
--data-urlencode 'sid=1009348' \
--data-urlencode 'tid=788485651' \
--data-urlencode 'trid=20' \
--data-urlencode 'points=[{"location" : "116.478935,39.997761","locatetime" :"1700128190000"}]'
结果:
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"errorpoints": []
}
}
4.3 查询轨迹
# CURL请求:
curl --location --request GET 'https://tsapi.amap.com/v1/track/terminal/trsearch?key=you_key&sid=1009348&tid=788485651&trid=20' \
--header 'Content-Type: application/x-www-form-urlencoded'
# 结果
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"tracks": [
{
"startPoint": {
"location": "116.478935,39.997761",
"locatetime": 1700128188000
},
"endPoint": {
"location": "116.478935,39.997761",
"locatetime": 1700128190000
},
"trid": 20,
"distance": 0,
"time": 2000,
"counts": 2,
"points": [
{
"location": "116.478935,39.997761",
"locatetime": 1700128188000,
"speed": 255.0,
"direction": 511.0,
"accuracy": 550.0
},
{
"location": "116.478935,39.997761",
"locatetime": 1700128190000,
"speed": 255.0,
"direction": 511.0,
"accuracy": 550.0
}
]
}
],
"counts": 1
}
}
5.1 关联终端(tid)和围栏(gfid)
curl --location --request POST 'https://tsapi.amap.com/v1/track/geofence/terminal/bind' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key=you_key' \
--data-urlencode 'sid=1009348' \
--data-urlencode 'tids=788485651' \
--data-urlencode 'gfid=1153882'
6.1 重点查询指定坐标是否在围栏中
# CURL请求
curl --location --request GET 'https://tsapi.amap.com/v1/track/geofence/status/location?key=YOUR_KEY&sid=1009348&gfid=1153882&location=116.411935,39.997761' \
--header 'Content-Type: application/x-www-form-urlencoded'
# 结果 (in=0不在围栏中, in=1: 在围栏中)
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"count": 1,
"results": [
{
"gfid": 1153882,
"gfname": "geofence01",
"in": 0
}
]
}
}
6.2 查询检测对象与围栏关系(用于判断终端是否在围栏中)
# CURL 请求
curl --location --request GET 'https://tsapi.amap.com/v1/track/geofence/status/terminal?key=YOUR_KEY&sid=1009348&tid=788485651&gfid=1153882' \
--header 'Content-Type: application/x-www-form-urlencoded'
# 结果1. 还在围栏中
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"count": 1,
"results": [
{
"gfid": 1153882,
"gfname": "geofence01",
"in": 1,
"time": 1700128190000,
"location": "116.478935,39.997761"
}
]
}
}
# 结果2. 不在围栏中(在points数据点接口, 上传一个新的不在围栏中的数据点)
{
"errcode": 10000,
"errmsg": "OK",
"data": {
"count": 1,
"results": [
{
"gfid": 1153882,
"gfname": "geofence01",
"in": 0,
"time": 1700128288000,
"location": "116.498935,39.997761"
}
]
}
}