使用 Address Validation API 時,您可以要求驗證回應也會傳回轉換成英文的地址。如果您的系統需要在接收的不是英文原文地址時,以拉丁字元提供地址資訊,請使用這項功能。例如:
- 貴公司可能會處理來自世界各地的運送要求,並使用英文和以英文為基礎的拉丁字元將所有地址標準化。
- 如果所在國家/地區使用的語言與您提供的地址不同,您的業務可能會處理運送作業。
如何傳回英文地址
如要要求驗證地址中含有對等的英文元件,請將下列內容加入驗證要求主體中:
languageOptions: { returnEnglishLatinAddress: "true" }.
下列範例會要求以英文為基礎的元件,同時向普拉多博物館驗證地址:
curl -X POST -d '{ "regionCode" : ["ES"], "addressLines": ["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 proto 與 address
欄位使用的相同,但有以下例外:
- 沒有
ConfirmationLevel
欄位 - 沒有
unconfirmedComponentTypes
欄位
地址轉換的運作方式
Address Validation API 會對地址中的每個元件套用英文轉換。這表示系統會分別處理 administrative_area
、locality
和其他元件。如需地址元件清單,請參閱參考說明文件中的 AddressComponent。
下圖說明英文轉換範例 Calle Afterñas, 5, 41003 Sevilla, España。
針對評估英文轉換的每個元件,服務會使用以下各節所述的程序。
盡可能使用全部經過翻譯的英文
部分地址元件可能含有完整翻譯版本,可供您使用。
舉例來說,España
的西班牙國家/地區會翻譯成Spain
。在這種情況下,服務會使用英文版本。這通常是大型地址元件 (例如 country
和 administrative_area_level_1
) 的情況。
如果系統不支援英文,會使用當地語言將文字翻譯成當地語言
拉丁語化是指透過語音轉錄,將當地語言轉換為拉丁字集。
- 如果地址的當地語言使用拉丁字元集,且地址元件沒有英文對等項目,服務就會取代當地語言「非」英文的字元。舉例來說,
Calle Dueñas
會變為Calle Duenas
,其中 ñ 會替換成 n。 - 如果地址的當地語言並未使用以拉丁字母為基礎的字元集,且地址元件沒有英文對等項目,服務就會使用本地化的當地語言 (如有)。舉例來說,日本轉換會傳回日文的羅馬拼音。系統會將任何非英文、非拉丁字元替換為英文中的拉丁字元。例如:3 差異圈會變為 3 杯。
- 請注意,預先發布版尚未啟用日文
- 如果沒有該語言的拉丁版本,元件會以當地語言傳回。
將拉丁字元替換成非英文
所有非英文的拉丁字元都會被替換為對應的英文字元。例如,下列每個字元都會由下列字元取代:"o": 擬定、會影響、ó、ô、õ、ö、ø、ō、cho、ṑ、ṍ、ṏ、ṑ、ṓ, ỏ, , ổ, ổ, ỻ, ổ,例如:
Calle de Ruiz de Alarcón 變成 Calle de Ruiz de Alarcon
處理轉換範例
以下範例顯示針對西班牙 Palacio de las Underñ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"