將地址轉換為英文

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

地址轉換的運作方式

Address Validation API 會將英文轉換套用至地址的每個元件。也就是說,系統會個別處理 administrative_arealocality 和其他地址元件。如需地址元件的清單,請參閱參考文件中的 AddressComponent

下圖說明 Calle Dueñas, 5, 41003 Sevilla, España 地址的英文轉換結果。

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

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

盡可能使用完整翻譯的英文

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