高德地图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,说明终端不在围栏里。

### 高德地图天气预报 API 的文档及用法 高德地图提供了丰富的 Web 服务 API 接口,其中包括天气预报功能。以下是关于如何获取并使用高德地图天气预报 API 的详细介绍。 #### 获取实时天气数据 通过调用高德地图的天气查询接口可以获取指定城市的当前天气状况以及未来几天的天气预测。具体实现方式如下: - **API 请求地址**: `https://restapi.amap.com/v3/weather/weatherInfo?key=<您的Key>&city=<城市名/区号/IP>`[^1] 其中: - `key`: 用户申请的高德开发者 Key。 - `city`: 支持传入城市名称、adcode 或 IP 地址来定位目标区域。 返回的数据结构通常是一个 JSON 对象,包含了多个字段用于描述天气情况。例如,可以通过以下代码提取实时温度信息: ```python import requests def get_weather(city, key): url = f"https://restapi.amap.com/v3/weather/weatherInfo?key={key}&city={city}" response = requests.get(url).json() if 'lives' in response and len(response['lives']) > 0: weather = response['lives'][0]['weather'] temperature = response['lives'][0]['temperature'] return {"weather": weather, "temperature": temperature} else: return None # 示例调用 result = get_weather('北京', '<您的Key>') if result: print(f"当前天气:{result['weather']},温度:{result['temperature']}°C") else: print("无法获取天气信息") ``` 上述脚本展示了如何利用 Python 脚本来访问该接口,并解析出具体的天气状态和摄氏度数值。 #### 创建与管理应用以获得合法权限 为了能够正常使用这些 API 功能,开发者需要先完成必要的准备工作——即注册成为高德开放平台用户并创建自己的应用程序实例。操作流程大致分为以下几个方面: 1. 登录到 [高德开放平台](http://lbs.amap.com/) 官网; 2. 进入个人中心下的【应用管理】模块; 3. 新建一个项目实体,在此过程中需填写基本信息如应用名称等; 4. 成功提交后即可看到系统自动生成的一串唯一标识符作为后续身份验证依据的一部分 —— 即所谓的 “Web服务” API Key[^3]; 注意每次发起 HTTP GET 请求时都必须附加这个参数值以便服务器端确认请求合法性。 #### 设置地理围栏监控特定区域内变化事件的通知机制 (可选扩展部分) 如果除了单纯关心某固定地点外还希望动态追踪某些移动对象所处位置是否越界,则可能需要用到另一项增值服务叫做“电子围栏”。它允许定义一系列虚拟边界范围当检测到符合条件的目标穿越时触发回调通知给定订阅者账户邮箱或者推送至第三方网址链接上进一步处理逻辑业务需求等等[^2]. 其基本工作原理涉及两个主要环节分别是构建初始条件设定规则集加上后期持续监听反馈结果直至结束整个周期为止。下面给出一段伪代码帮助理解这一过程的核心思路: ```javascript // 初始化配置阶段 let fenceOptions = { geoFenceId: 'example_fence_id', centerPoint: {lng: 116.397428, lat: 39.90923}, // 中心坐标点经纬度表示形式 radiusMeters: 500 // 半径大小单位米数整型数字表达样式 }; function createGeoFence(apiKey){ let apiUrl = `https://restapi.amap.com/v4/geofence/add?geoFenceId=${fenceOptions.geoFenceId}&centerPoint=${encodeURIComponent(JSON.stringify(fenceOptions.centerPoint))}&radiusMeters=${fenceOptions.radiusMeters}&key=${apiKey}`; fetch(apiUrl,{ method:'POST' }).then((response)=>{ console.log(`成功建立新的地理围栏:${fenceOptions.geoFenceId}`); }); } createGeoFence('<Your_API_Key>'); ``` 以上片段演示了怎样借助 JavaScript 实现向远程 RESTful web service 发送 POST 命令从而新增一条记录进入数据库表单之中保存下来供以后检索分析之用途所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值