空气质量检测仪微件(实验性)
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
报告问题
请求添加功能
空气质量计微件提供了一个可自定义的 HTML 元素,用于显示给定位置的空气质量。借助此 API,您只需编写少量代码,即可将 Air Quality API 中的当前空气质量信息引入到您的应用或网页中。
空气质量计微件使用
CurrentConditions.Lookup
方法,该方法会在所选位置有本地 AQI 时返回该 AQI。空气质量计 widget 支持美国国家环境保护局 (EPA) 的本地 AQI,未来还计划支持其他本地指数。如果空气质量监测器尚不支持当地 AQI,则会显示通用 AQI。如需了解详情以及底层 CurrentConditions.Lookup
方法的最新覆盖范围详细信息,请参阅 AQ 指数和 Air Quality API 支持的国家/地区和可用的 AQI。
以下示例展示了空气质量计微件,其中显示了加利福尼亚州山景城的当前空气质量状况。
在使用空气质量计微件之前,请启用 Air Quality API。
通过添加 gmp-air-quality-meter
元素将空气质量监测器微件添加到 HTML 页面中,该元素还可用于设置 location
属性,用于设置所选位置的纬度和经度坐标:
<gmp-air-quality-meter location="47.656905,-122.407355"></gmp-air-quality-meter>
您还可以在 JavaScript 中设置空气质量计微件:
<script>
const {AirQualityMeterElement} = await google.maps.importLibrary('airQuality');
const meterElement = new AirQualityMeterElement({
location: {lat: 47.656905, lng: -122.407355}
});
document.body.append(meterElement);
</script>
以下示例展示了嵌入在地图中的空气质量计 widget。点击地图即可显示某个地点的空气质量。
查看完整代码示例
JavaScript
let map, meter, marker;
// Initialize the map.
async function initMap() {
// Set to the center of the continental US.
const center = {
lat: 40.6048080,
lng: -99.386252,
};
// Import needed libraries.
await Promise.all([
google.maps.importLibrary('airQuality'),
google.maps.importLibrary('maps'),
google.maps.importLibrary('marker'),
]);
map = document.getElementById('map_element');
map.innerMap.setOptions({
mapTypeControl: false,
fullscreenControl: false,
clickableIcons: false,
});
meter = document.getElementById('meter_element');
marker = document.getElementById('marker_element');
map.center = center;
marker.position = meter.location = {lat: 37.424100, lng: -122.092692};
// Add an event listener to handle map clicks.
map.innerMap.addListener('click', async (event) => {
marker.position = meter.location = event.latLng;
});
}
initMap();
CSS
/**
* @license
* Copyright 2019 Google LLC. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/
body {
margin: 0;
}
gmp-map {
height: 400px;
}
gmp-air-quality-meter {
margin: 8px;
padding: 8px;
background: white;
border: 1px solid grey;
border-radius: 1px;
font-size: 16px;
}
HTML
<!DOCTYPE html>
<html>
<head>
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "alpha"
});
</script>
</head>
<body>
<gmp-map map-id="DEMO_MAP_ID" zoom="4" id="map_element">
<gmp-air-quality-meter slot="control-block-start-inline-start" id="meter_element"></gmp-air-quality-meter>
<gmp-advanced-marker id="marker_element"></gmp-advanced-marker>
</gmp-map>
</body>
</html>
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-02-05。
[null,null,["最后更新时间 (UTC):2025-02-05。"],[],[],null,["| This product or feature is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](/maps/launch-stages). \n| **Please file bugs and feature requests to help guide our future releases.**\n\n[Report an issue](https://issuetracker.google.com/issues/new?component=188853&template=788207)\n[Request a feature](https://issuetracker.google.com/issues/new?component=188853&template=787814)\n\n*** ** * ** ***\n\nThe Air Quality Meter Widget provides a customizable HTML element to display air quality for a\ngiven location. You can use it to bring current air quality information from the\n[Air Quality API](/maps/documentation/air-quality) to your app or web page with minimal\ncode.\n\nThe Air Quality Meter Widget uses the [`CurrentConditions.Lookup`](/maps/documentation/air-quality/reference/rest/v1/currentConditions/lookup) method, which will return the\nlocal AQI if it's available for the selected location. The Air Quality Meter Widget supports the US EPA local AQI, with planned support for additional local indexes in the future. If local AQI is not yet supported by the Air Quality Meter, it will display the Universal AQI. See\n[AQ Index](/maps/documentation/air-quality/laqis) and\n[Air Quality API supported countries and available AQIs](/maps/documentation/air-quality/coverage)\nfor more information and the latest coverage details of the underlying `CurrentConditions.Lookup` method.\n\nThe following example shows the Air Quality Meter Widget with current conditions for Mountain View, CA.\n\nHow to use the Air Quality Meter Widget\n\nBefore using the Air Quality Meter Widget, [enable the Air Quality API](/maps/documentation/air-quality/cloud-setup#enabling-apis).\n\nAdd the Air Quality Meter Widget to an HTML page by adding the `gmp-air-quality-meter`\nelement, which may also be used to set the `location`\nattribute, which sets the latitude and longitude coordinates for the chosen location: \n\n```html\n\u003cgmp-air-quality-meter location=\"47.656905,-122.407355\"\u003e\u003c/gmp-air-quality-meter\u003e\n```\n\nYou can also set up the Air Quality Meter Widget in JavaScript: \n\n```html\n\u003cscript\u003e\nconst {AirQualityMeterElement} = await google.maps.importLibrary('airQuality');\nconst meterElement = new AirQualityMeterElement({\n location: {lat: 47.656905, lng: -122.407355}\n});\ndocument.body.append(meterElement);\n\u003c/script\u003e\n```\n\nThe following example shows the Air Quality Meter Widget embedded in a map. Click the\nmap to show the air quality for a location.\n\nSee the complete code example \n\nJavaScript \n\n```javascript\nlet map, meter, marker;\n\n// Initialize the map.\nasync function initMap() {\n // Set to the center of the continental US.\n const center = {\n lat: 40.6048080,\n lng: -99.386252,\n };\n\n // Import needed libraries.\n await Promise.all([\n google.maps.importLibrary('airQuality'),\n google.maps.importLibrary('maps'),\n google.maps.importLibrary('marker'),\n ]);\n\n map = document.getElementById('map_element');\n map.innerMap.setOptions({\n mapTypeControl: false,\n fullscreenControl: false,\n clickableIcons: false,\n });\n\n meter = document.getElementById('meter_element');\n marker = document.getElementById('marker_element');\n\n map.center = center;\n marker.position = meter.location = {lat: 37.424100, lng: -122.092692};\n\n // Add an event listener to handle map clicks.\n map.innerMap.addListener('click', async (event) =\u003e {\n marker.position = meter.location = event.latLng;\n });\n}\n\ninitMap();\n\n \n```\n\nCSS \n\n```css\n/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nbody {\n margin: 0;\n}\n\ngmp-map {\n height: 400px;\n}\n\ngmp-air-quality-meter {\n margin: 8px;\n padding: 8px;\n background: white;\n border: 1px solid grey;\n border-radius: 1px;\n font-size: 16px;\n}\n \n```\n\nHTML \n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n \u003cscript\u003e\n (g=\u003e{var h,a,k,p=\"The Google Maps JavaScript API\",c=\"google\",l=\"importLibrary\",q=\"__ib__\",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=\u003eh||(h=new Promise(async(f,n)=\u003e{await (a=m.createElement(\"script\"));e.set(\"libraries\",[...r]+\"\");for(k in g)e.set(k.replace(/[A-Z]/g,t=\u003e\"_\"+t[0].toLowerCase()),g[k]);e.set(\"callback\",c+\".maps.\"+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=\u003eh=n(Error(p+\" could not load.\"));a.nonce=m.querySelector(\"script[nonce]\")?.nonce||\"\";m.head.append(a)}));d[l]?console.warn(p+\" only loads once. Ignoring:\",g):d[l]=(f,...n)=\u003er.add(f)&&u().then(()=\u003ed[l](f,...n))})({\n key: \"YOUR_API_KEY\",\n v: \"alpha\"\n });\n \u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n \u003cgmp-map map-id=\"DEMO_MAP_ID\" zoom=\"4\" id=\"map_element\"\u003e\n \u003cgmp-air-quality-meter slot=\"control-block-start-inline-start\" id=\"meter_element\"\u003e\u003c/gmp-air-quality-meter\u003e\n \u003cgmp-advanced-marker id=\"marker_element\"\u003e\u003c/gmp-advanced-marker\u003e\n \u003c/gmp-map\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n \n```"]]