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

2024-01-08 00:36

本文主要是介绍高德地图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,说明终端不在围栏里。

这篇关于高德地图Web服务使用方法——电子围栏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/581760

相关文章

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha