高德地图Web服务使用方法——电子围栏

1 高德地图Web服务

1.1 添加Key

注册高德地图,进入控制台,创建新应用,添加Key,选择Web服务,不添加域名白名单,勾选同意政策。

刷新界面,记住获取到的Key。

1.2 下载安装Postman

https://www.postman.com/downloads/

1.3 使用Web服务API

学习链接:

https://lbs.amap.com/api/webservice/guide/api/georegeo

1.3.1 地理编码

发送位置信息,获取经纬度信息。

打开Postman,网址输入:https://restapi.amap.com/v3/geocode/geo

请求方式选择:GET

按照高德地图官方文档:

在Postman中设置Params参数:

发送请求后可以得到如下反馈:

{"status":"1","info":"OK","infocode":"10000","count":"2","geocodes":{"formatted_address":"北京市朝阳区阜通东大街6号","country":"中国","province":"北京市","citycode":"010","city":"北京市","district":"朝阳区","township":\[,"neighborhood":{"name":\[\],"type":\[\]},"building":{"name":\[\],"type":\[\]},"adcode":"110105","street":"阜通东大街","number":"6号","location":"116.482086,39.990496","level":"门址"},{"formatted_address":"北京市朝阳区阜通东大街6号院","country":"中国","province":"北京市","citycode":"010","city":"北京市","district":"朝阳区","township":\[\],"neighborhood":{"name":\[\],"type":\[\]},"building":{"name":\[\],"type":\[\]},"adcode":"110105","street":"阜通东大街","number":"6号院","location":"116.482145,39.990039","level":"门址"}]}

可以发现已经得到该位置的经纬度信息location。

1.3.2 逆地理编码

发送经纬度信息,获取位置信息。

请求网址:https://restapi.amap.com/v3/geocode/regeo

请求方式:GET

请求参数:

Postman界面设置:

发送请求后,得到如下数据:

{"status":"1","regeocode":{"addressComponent":{"city":"湖州市","province":"浙江省","adcode":"330522","district":"长兴县","towncode":"330522101000","streetNumber":{"number":\[\],"direction":\[\],"distance":\[\],"street":\[\]},"country":"中国","township":"洪桥镇","businessAreas":\[],"building":{"name":\[\],"type":\[\]},"neighborhood":{"name":\[\],"type":\[\]},"citycode":"0572"},"formatted_address":"浙江省湖州市长兴县洪桥镇南庄湾"},"info":"OK","infocode":"10000"}

1.4 使用猎鹰轨迹服务

官方链接:

https://lbs.amap.com/api/track/lieying-kaifa/api/service

本小节讲解创建围栏,并判断终端是否在围栏内部。

1.4.1 创建服务

首先创建猎鹰轨迹服务。

服务地址:https://tsapi.amap.com/v1/track/service/add

请求方式:POST

请求参数:

Postman设置:输入网址,选择POST请求,选择Body,选择x-www-form-urlencoded方式传输,添加key参数和name参数。

返回结果:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"name": "gps_fence",

"sid": 10*****

}

}

1.4.2 创建终端

服务地址:https://tsapi.amap.com/v1/track/terminal/add

请求方式:POST

请求参数:

Postman设置:

返回数据:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"name": "devicetest",

"tid": 820******,

"sid": 10*****

}

}

1.4.3 创建轨迹

服务地址:https://tsapi.amap.com/v1/track/trace/add

请求方式:POST

请求参数:

Postman设置:

返回数据:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"trid": 20

}

}

1.4.3 终端坐标位置上传

服务地址:https://tsapi.amap.com/v1/track/point/upload

请求方式:POST

请求参数:

postman设置:

返回数据:

{

"errcode": 20100,

"errmsg": "OK",

"errdetail": "PARTIAL_SUCCESS",

"data": {

"errorpoints": [

{

"_param_err_info": "locatetime",

"_err_point_index": 0,

"location": "120.001,31.001",

"locatetime": 1704616525

}

]

}

}

1.4.4 创建围栏

这里创建圆形围栏。

服务地址:https://tsapi.amap.com/v1/track/geofence/add/circle

请求方式:POST

请求参数:

Postman设置:

返回数据:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"gfid": 11*****

}

}

1.4.5 添加围栏对象

将一个或多个终端添加到围栏内。

服务地址:https://tsapi.amap.com/v1/track/geofence/terminal/bind

请求方式:POST

请求参数:

Postman设置:

接收数据:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"tids": [

820*******

]

}

}

1.4.6 围栏关系判断

输入检测对象或者指定坐标,判断与围栏的关系,返回"in"为1,表示在围栏内;返回"in"为0,表示在围栏外。

在上方已经设置了圆形围栏中心点120,31,半径500米,终端轨迹坐标120.001,31.001

服务地址:https://tsapi.amap.com/v1/track/geofence/status/terminal

请求方式:GET

请求参数:

postman设置:

这里与之前不同,设置GET和Params,Body要设置为none。

返回数据:

{

"errcode": 10000,

"errmsg": "OK",

"data": {

"count": 1,

"results": [

{

"gfid": 1163031,

"gfname": "fence-01",

"in": 0

}

]

}

}

可以发现in为0,说明终端不在围栏里。

相关推荐
NiceCloud喜云7 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
为思念酝酿的痛8 小时前
POSIX信号量
linux·运维·服务器·后端
小羊在睡觉8 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
wordbaby8 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
GISer_Jing8 小时前
Three.js着色器编译机制深度解析
javascript·webgl·着色器
丷丩8 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
油炸自行车8 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
swipe8 小时前
Neo4j + Graph RAG 医疗知识图谱工程实践:患者教育问答真正需要的是“关系可追溯”
后端·langchain·llm
Front思9 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
源码宝9 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码