将地址转换为英语

使用 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 字段相同的 Address proto,但存在以下例外情况:

地址转换的运作方式

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 不为预览版服务、特性或功能提供支持服务,但我们会根据具体情况考虑这些开发阶段提出的请求。

对于 GA 之前的版本,请使用以下建议:

  • Google Maps Platform SLA 不涵盖正式发布前功能。

  • 使用回退机制,尤其是在生产环境中使用 GA 之前的功能时。回退情况的一些示例包括:超出配额、意外的响应代码和延迟时间,或者与现有行为相比,出现意外的响应。

您可以使用问题跟踪器请求新功能或建议修改现有功能。请务必在申请中提供以下信息:

  • 请说明您希望添加的具体功能或行为,以及您认为该功能为何重要的原因。

  • 如果可以,请详细具体地说明您的用例,以及此功能可带来的新机遇。

如需提供此反馈或有任何其他功能方面的问题,请发送电子邮件至地址验证热线:address-validation-hotline@google.com。