使用 Address Validation API 時,您可以要求驗證回應也一併傳回已轉換成英文的地址。如果系統在收到非英文地址時,需要以以英文為基礎的拉丁字母提供地址資訊,請使用這項功能。例如:
- 貴公司可能會處理來自全球各地的運送要求,並使用英文和以英文為基礎的拉丁字母,將所有地址標準化。
- 你的商家可能會處理進出某個國家/地區的貨件,而該國家/地區使用的語言與提供的地址語言不同。
如何以英文傳回地址
如要要求地址驗證,並納入英文等值組件,請在驗證要求主體中加入以下內容:
"languageOptions": { "returnEnglishLatinAddress": "true" }
以下範例會在驗證普拉多博物館的地址時,要求以英文為基礎的元件:
curl -X POST -d '{ "address": { "region_code" : "ES", "address_lines": ["C. de Ruiz de Alarcón, 23, 28014 Madrid, Spain"], }, "languageOptions": {returnEnglishLatinAddress: true} }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: API_KEY' \ 'https://addressvalidation.googleapis.com/v1:validateAddress'
回應會在 englishLatinAddress
欄位中傳回英文地址。詳情請參閱下方的地址轉換範例。系統會盡可能將傳回的當地語言地址的每個元件轉換為英文。轉換後的地址無法用於 API 輸入。
englishLatinAddress
欄位使用的 Address 是與 address
欄位使用的相同,但以下例外:
- 沒有
ConfirmationLevel
欄位 - 沒有
unconfirmedComponentTypes
欄位
地址轉換的運作方式
Address Validation API 會將英文轉換套用至地址的每個元件。也就是說,系統會個別處理 administrative_area
、locality
和其他地址元件。如需地址元件的清單,請參閱參考文件中的 AddressComponent。
下圖說明 Calle Dueñas, 5, 41003 Sevilla, España 地址的英文轉換結果。
對於每個評估英文轉換的元件,服務會使用下列各節所述的程序。
盡可能使用完整翻譯的英文
部分地址元件可能有完整翻譯的版本可供使用。舉例來說,西班牙的國家 España
會翻譯為 Spain
。在這種情況下,服務會使用英文版本。這通常是較大的地址元件 (例如 country
和 administrative_area_level_1
) 的情況。
如果沒有英文,則使用當地語言的拉丁化字母
拉丁化是指使用轉錄功能,將當地語言轉換為拉丁字母。
- 如果地址的當地語言使用拉丁字元集,且地址元件沒有英文對應項目,服務會將當地語言中「非」英文的字元替換掉。舉例來說,
Calle Dueñas
會變成Calle Duenas
,其中 ñ 會替換為 n。 - 如果地址的當地語言不使用以拉丁字母為基礎的字元集,且地址元素沒有英文對應項目,服務會使用當地語言的拉丁化版本 (如有)。舉例來說,日文轉換會傳回日文的羅馬拼音。任何非英文字元和非拉丁字元都會替換為以英文為基礎的拉丁字元。舉例來說,3丁目會變成 3-chome。
- 請注意,日文尚未開放預覽
- 如果沒有該語言的拉丁化版本,系統會以當地語言傳回元件。
替換非英文的拉丁字元
任何非英文的拉丁字元都會替換為對應的英文字元。舉例來說,下列每個字元都會替換為「o」字元:ð、ò、ó、ô、õ、ö、ø、ō、ŏ、ő、ơ、ṍ、ṏ、ṑ、ṓ、ọ、ỏ、ố、ồ、ổ、ỗ、ộ、ớ、ờ、ở、ỡ 和 ợ。例如:
Calle de Ruiz de Alarcón 變成 Calle de Ruiz de Alarcon
地址轉換範例
以下範例顯示西班牙 Palacio de las Dueñas 要求的驗證回應,其中 englishLatinAddress
以粗體顯示。這項要求使用輸入內容中 languageOptions
參數中的 returnEnglishLatinAddress
欄位。
"result": { "verdict": { "inputGranularity": "PREMISE", "validationGranularity": "PREMISE", "geocodeGranularity": "PREMISE", "addressComplete": true, "hasInferredComponents": true }, "address": { "formattedAddress": "Calle Dueñas, 5, 41003 Sevilla, España", "postalAddress": { "regionCode": "ES", "languageCode": "es", "postalCode": "41003", "administrativeArea": "Sevilla", "locality": "Sevilla", "addressLines": [ "C. Dueñas, 5" ] }, "addressComponents": [ { "componentName": { "text": "Calle Dueñas", "languageCode": "es" }, "componentType": "route", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "5", "languageCode": "es" }, "componentType": "street_number", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "41003" }, "componentType": "postal_code", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "Sevilla", "languageCode": "es" }, "componentType": "locality", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "España", "languageCode": "es" }, "componentType": "country", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "Sevilla", "languageCode": "es" }, "componentType": "administrative_area_level_2", "confirmationLevel": "CONFIRMED", "inferred": true } ] }, "geocode": { "location": { "latitude": 37.394849, "longitude": -5.9893604 }, "plusCode": { "globalCode": "8C9P92V6+W7" }, "bounds": { "low": { "latitude": 37.3948098, "longitude": -5.9894249 }, "high": { "latitude": 37.3948882, "longitude": -5.9893025 } }, "featureSizeMeters": 7.174035, "placeId": "ChIJzRDYbgRsEg0RDDgHlF80UoI", "placeTypes": [ "premise" ] }, "metadata": { "business": true, "residential": false }, "englishLatinAddress": { "formattedAddress": "Calle Duenas, 5, 41003 Seville, Spain", "postalAddress": { "regionCode": "ES", "languageCode": "en", "postalCode": "41003", "administrativeArea": "Seville", "locality": "Seville", "addressLines": [ "C. Duenas, 5" ] }, "addressComponents": [ { "componentName": { "text": "Calle Duenas", "languageCode": "es" }, "componentType": "route", }, { "componentName": { "text": "5", "languageCode": "es" }, "componentType": "street_number", }, { "componentName": { "text": "41003" }, "componentType": "postal_code", }, { "componentName": { "text": "Seville", "languageCode": "en" }, "componentType": "locality", }, { "componentName": { "text": "Spain", "languageCode": "en" }, "componentType": "country", }, { "componentName": { "text": "Seville", "languageCode": "en" }, "componentType": "administrative_area_level_2", "inferred": true } ] } }, "responseId": "e874d263-7d0d-413f-9213-119a784765ed"
預先發布版的支援選項
儘管 Google 沒有義務為服務的預覽版、功能或功能提供支援,但我們會視個案考量在這些開發階段提出的要求。
請針對正式發布前版本採用下列最佳化建議:
Google 地圖平台服務水準協議不適用於正式發布前功能。
使用備用機制,特別是在正式環境中使用舊版 Google Analytics 功能時。備用情況的例子包括:超過配額、非預期的回應代碼和延遲,或是與現有行為相比,出現非預期的回應。
您可以透過 Issue Tracker 要求新功能,或建議修改現有功能。請務必在要求中提供下列資訊:
請說明您希望新增的特定功能或行為,以及您認為該功能的重要性。
盡可能詳述這項功能的用途及新的應用方式。
如有任何其他功能相關問題或意見,請傳送電子郵件至 Address Validation Hotline:address-validation-hotline@google.com。