簡體   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