繁体   English   中英

超过谷歌地图 API 请求限制处理程序

[英]Exceeding Google Maps API request limit handler

我正在为 Google 地图可能出现的错误创建处理程序。

我想要处理的一种情况是,发出的请求数量达到了 Google 地图 JavaScript API 的配额限制。

达到请求限制时,一条错误消息将涵盖 map。 错误消息显示:此页面无法正确加载谷歌地图。

控制台还有一条消息 output,您已超出此 API 的请求配额。 请参阅https://developers.google.com/maps/documentation/javascript/error-messages?utm_source=maps_js&utm_medium=degraded&utm_campaign=billing#api-key-and-billing-errors

这一切都按预期工作。 理想情况下,当达到请求限制时,我想将用户重定向到另一个页面; 但是,我完全不知道在哪里处理这个问题。 下面是我用来加载 Google 地图 JavaScript API 的代码示例。

import { useState, useEffect } from 'react'
import { Loader } from "@googlemaps/js-api-loader"

function useGoogleMapsApi() {
    const [api, setApi] = useState()
  
    useEffect(() => {
        if ((window as any).google) {
            setApi((window as any).google)
            return
        }
        
        const loader = new Loader({
            apiKey: 'MY_GOOGLE_MAPS_API_KEY',
            version: 'beta',
            libraries: ['places', 'geometry'],
        })
    
        loader
            .load()
            .then(() => {
                setApi((window as any).google)
            })
    }, [])
    
    return api
}

export default useGoogleMapsApi

速率限制是在一定时间间隔内可以执行的 API 请求的数量。 根据Google 的 API Usage and Billing page ,每秒有 50 个请求的限制。 如果超过此数量,对 API 的后续请求将失败并显示OVER_DAILY_LIMITOVER_QUERY_LIMIT状态代码,并且不会返回地理编码数据。

如果您反复 go 超出限制,Google 也可能会阻止您访问API。

这就是为什么我会建议您避免尝试超过此请求限制,因为它可能会造成相当大的麻烦。

资料来源: 当您超过 Google 地理编码 API 速率限制时会发生什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM