在本文档中,您将了解如何使用 Air Quality API 打造丰富的地点搜索体验。 我们将展示空气质量如何从漏斗的最初阶段到最后阶段,成为对用户有价值的信号,以及如何将 Air Quality API 数据嵌入到现有体验中。

应用场景和附加值
Air Quality API 信号可以融入各种搜索体验,例如用户在寻找要访问的地点时。Air Quality API 提供:
- 实时 * 和历史数据 - 新鲜、准确的数据,代表当前状态以及 30 天窗口内的历史数据,分辨率为每小时。(* 室外空气质量的每小时快照)
- 全球和本地数据 - 覆盖 100 多个国家/地区的整个区域,但高度本地化(最远 500 米),Air Quality API 数据可为用户提供关键信号,以便他们比较并决定最合适的地点。

即使是相近的位置,空气质量也可能大不相同
示例演示
在体验初期显示空气质量数据
Air Quality API 数据主要有两种显示方式:
当前天气状况 / 每小时:获取每个地点要显示的各个值。
(前往在位置图钉上显示 Air Quality API 数据部分)热图图块:在地图上叠加一个彩色图层,用于表示当前的室外空气质量状况。提供特定国家/地区的图层索引。
(前往在地图上显示 Air Quality API 热图图层部分)
在位置图钉上显示 Air Quality API 数据
- 选择您所在位置的指数:通用 AQI 或当地 AQI(最多可提供 70 种不同的空气质量指数 (AQI))。空气质量指数 (AQI) 是特定国家/地区(例如美国环保署)根据不同的计算方法、数据源和指定用途对不同空气质量水平进行分类的量表。
- 直接从地点搜索体验中开始直观呈现主要 Air Quality API 值和颜色代码。
默认显示可能仅包含颜色代码。
在选择图钉时显示更多 Air Quality API 信息:
- 您可以根据需要调整默认显示的信息级别。请注意,某个位置的数据点通常在与其他位置进行比较时很有用。
空气质量部分显示示例
{
"dateTime": "2023-08-09T10:00:00Z",
"regionCode": "fr",
"indexes": [
{
"code": "uaqi",
"displayName": "Universal AQI",
"aqi": 76,
"aqiDisplay": "76",
"color": {
"red": 0.4117647,
"green": 0.77254903,
"blue": 0.20392157
},
"category": "Good air quality",
"dominantPollutant": "pm10"
},
…
],
"pollutants": [
{
"code": "co",
"displayName": "CO",
"fullName": "Carbon monoxide",
"concentration": {
"value": 95.18,
"units": "PARTS_PER_BILLION"
}...
},
…
],
"healthRecommendations": -{
"generalPopulation": "With this level of air quality, you have no limitations. Enjoy the outdoors!",
"elderly": "If you start to feel respiratory discomfort such as coughing or breathing difficulties, consider red ...",
"lungDiseasePopulation": …
}
}
- 或者,您也可以仅在与某个地点互动时查询空气质量数据。

- 您可以使用 Air Quality API 指数来过滤附近的地点,例如:如果您要查找所在区域的公园,则可以仅显示空气质量良好的公园。
空气质量响应
... "color":{ "red": 0.9490196, "green": 0.98039216, "blue": 0.019607844 } ...
var red = parseInt(colorResponse.red*255)|| 1; var green = parseInt(colorResponse.green*255)|| 1; var blue = parseInt(colorResponse.blue*255)|| 1; // --> output rgb(241,250,5)
在地图上显示 Air Quality API 热图图层
热图彩色图块非常适合:
- 提供大范围概览。
- 快速显示该区域内的细微差别。

将 Maps JavaScript API 与 ImateMapType 搭配使用,可显示覆盖 Google 地图整个视口所需的各个图块。当用户通过平移、缩放或更改位置与地图互动时,热图图块会刷新。

请注意,允许的缩放级别值最高为 16。
在超本地化搜索中,Air Quality API 热图图块图层可能会消失。

您可以在有限的空气质量指数集中选择热图地图类型:
请务必指明色阶,以便用户了解值及其颜色排名:
- 梯度标度 UAQI (0-100):
差 / 优

调色板 CSS 代码段:
.gradient-scale { background: linear-gradient(to right, rgb(99, 20, 161) 0%, /* purple */ rgb(149, 0, 25) 20%, /* red */ rgb(248, 47, 21) 40%, /* orange */ rgb(255, 248, 35) 60%, /* yellow */ rgb(34,163,120) 80%, /* steelblue */ rgb(255,255,255) 100% /* white */ ); }
- 纯色,用于表示 UAQI(0-100)量表中的关键点:差 / 极佳

查询次数和相关费用
- Maps JavaScript API:在加载体验时加载 1 张地图。
- Air Quality API:
- 每个地点 1 次查询(全部在地图加载时查询,或仅在用户选择时查询)。
- 热图图块图层:每个图块图片均为 256*256 像素,要覆盖移动设备或网页上呈现的标准地图,您需要 12-14 个图块。每个提取的图块计为 1 个 SKU 单位。
- 附近搜索(新版)API:每显示 20 个地点,计为 1 次查询。根据查询响应中包含的地点数据,采用不同的结算方式。
总结
我们展示了 Air Quality API 可以作为用户决定游览地点的重要数据点。因此,空气质量数据应尽早在搜索体验中显示,同时要注意一次显示的信息量以及显示方式。
后续操作
建议进一步阅读:
贡献者
本文由 Google 维护。以下贡献者是其最初的作者。
主要作者:
Thomas Anglaret | 解决方案工程师