將地址轉換為英文

使用 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 欄位使用的相同,但有以下例外:

地址轉換的運作方式

Address Validation API 會對地址中的每個元件套用英文轉換。這表示系統會分別處理 administrative_arealocality 和其他元件。如需地址元件清單,請參閱參考說明文件中的 AddressComponent

下圖說明英文轉換範例 Calle Afterñas, 5, 41003 Sevilla, España

已翻譯的地址元件,包括路線、國家/地區和縣市

針對評估英文轉換的每個元件,服務會使用以下各節所述的程序。

盡可能使用全部經過翻譯的英文

部分地址元件可能含有完整翻譯版本,可供您使用。 舉例來說,España 的西班牙國家/地區會翻譯成Spain。在這種情況下,服務會使用英文版本。這通常是大型地址元件 (例如 countryadministrative_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"