Location

表示具有完整地理信息的地点的资源。

JSON 表示法
{
  "locationType": enum (LocationType),
  "postalAddress": {
    object (PostalAddress)
  },
  "latLng": {
    object (LatLng)
  },
  "radiusMiles": number
}
字段
locationType

enum (LocationType)

营业地点的类型,对应于 google.type.PostalAddress 的地址行字段。例如,“Downtown, Atlanta, GA, USA”的类型为 LocationType.NEIGHBORHOOD,而“Kansas City, KS, USA”的类型为 LocationType.LOCALITY

postalAddress

object (PostalAddress)

包含人类可读信息的地点的邮政地址,例如邮政递送和付款地址。给定邮政地址时,邮政服务可以将物品投递到处所、邮政信箱或其他投递地点。

latLng

object (LatLng)

表示纬度/经度对的对象。

radiusMiles

number

工作地点的半径(以英里为单位)。此值派生自地点边界框,其中指定半径的圆圈以 google.type.LatLng 为中心,覆盖了与工作地点关联的区域。例如,目前,“Mountain View, CA, USA”的半径为 6.17 英里。

LocationType

表示地点类型的枚举。

枚举
LOCATION_TYPE_UNSPECIFIED 如果未指定类型,则使用默认值。
COUNTRY 国家/地区级别的地点。
ADMINISTRATIVE_AREA 州或同等级别的地点。
SUB_ADMINISTRATIVE_AREA 郡或同等级别的地点。
LOCALITY 城市或同等级别的地点。
POSTAL_CODE 邮政编码级别的地点。
SUB_LOCALITY 子级市行政区是市行政区的一个细分,例如城市自治镇/区、坊或行政区。子级市行政区通常由地方政治当局划分。例如,曼哈顿区和布鲁克林区是由纽约市划分的行政区,因此被归类为子级市行政区。
SUB_LOCALITY_1 区或同等级别的地点。
SUB_LOCALITY_2 较小的区或同等级别的区域。
NEIGHBORHOOD 社区级别的地点。
STREET_ADDRESS 街道地址级别的地点。

PostalAddress

表示邮政地址,例如邮政递送或付款地址。给定邮政地址时,邮政服务可以将物品投递到处所、邮政信箱或其他投递地点。此对象不模拟地理位置(道路、城镇、山区)。

在典型的使用场景中,地址将通过用户输入或导入现有数据来创建,具体取决于进程的类型。

有关地址输入/修改的建议:使用国际化地址微件,例如 https://github.com/google/libaddressinput。在使用某个字段的国家/地区之外,不应向用户显示界面元素供其输入或修改字段。

如需详细了解如何使用此架构,请参阅:https://support.google.com/business/answer/6397478

JSON 表示法
{
  "revision": integer,
  "regionCode": string,
  "languageCode": string,
  "postalCode": string,
  "sortingCode": string,
  "administrativeArea": string,
  "locality": string,
  "sublocality": string,
  "addressLines": [
    string
  ],
  "recipients": [
    string
  ],
  "organization": string
}
字段
revision

integer

PostalAddress 的架构修订版本。必须将其设置为 0,也就是最新版本。

所有新版本必须向后兼容旧版本。

regionCode

string

必需。地址的国家/地区的 CLDR 地区代码。系统不会推断此字段,该值由用户确保正确。如需了解详情,请参阅 http://cldr.unicode.org/http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html。例如:瑞士的地区代码为“CH”。

languageCode

string

可选。此地址内容的 BCP-47 语言代码(如果已知)。这通常是输入表单的界面语言,或者与地址的“国家/地区”中使用的某种语言或其转换后的其他语言相匹配。这可能会影响某些国家/地区的格式,但对数据的正确性并不重要,也不会影响任何验证或其他与格式无关的操作。

如果此值未知,则应省略(而不是指定可能不正确的默认值)。

示例:“zh-Hant”、“ja”、“ja-Latn”、“en”。

postalCode

string

可选。地址的邮政编码。并非所有国家/地区都使用或要求使用邮政编码,但在使用邮政编码时,它们可能会触发地址其他部分的额外验证(例如美国的州/邮政编码验证)。

sortingCode

string

可选。特定于国家/地区的额外排序代码。大多数区域都未使用此功能。在使用它的地方,此值可以是一个类似“CEDEX”的字符串,后面可能会跟一个数字(例如“CEDEX 7”),或者只有一个数字,代表“管制区代码”(牙买加),“投递区域指标”(马拉维)或“邮局指标”(例如科特迪瓦)。

administrativeArea

string

可选。最高行政区划,用于国家或地区的邮政地址。例如,此值可以是州、省、州(俄罗斯)或县。具体来说,对于西班牙,此值为省而非自治区(例如此值为“巴塞罗那”而非“加泰罗尼亚”)。许多国家在邮政地址中不使用行政区划。例如对于瑞士,此字段应留空。

locality

string

可选。一般是指地址的城市/城镇部分。示例:美国的城市、意大利的市镇、英国的邮镇。对于没有明确定义 locality 或者其无法很好地对应这个结构的区域,应将 locality 留空并使用 address_lines。

sublocality

string

可选。地址的子级市行政区。例如,此值可以是社区、自治市/镇/区、行政区。

addressLines[]

string

描述详细地址的非结构化地址行。

由于 addressLines 中的值没有类型信息,并且有时可能在单个字段中包含多个值(例如“Austin, TX”),因此清楚的行顺序很重要。地址行的顺序应该是地址的国家/地区的“信封顺序”。在某些地方,此顺序有可能不同(例如日本),address_language 有助于使其明确(例如,“ja”表示从大到小排序,“ja-Latn”或“en”表示从小到大排序)。这样就可以根据语言选择地址的具体行。

地址的最小结构化表示形式由 regionCode 和 addressLines 组成,其中所有其他信息都放在 addressLines 中。可以在没有地理编码的情况下非常近似地设置此地址的格式,但是在至少部分完成之前,不能对任何地址组成部分进行语义推理。

创建仅包含 regionCode 和 addressLines 的地址,然后进行地理编码是处理完全非结构化地址的推荐方法(而不是猜测地址的哪些部分是城市/市镇或行政区)。

recipients[]

string

可选。此地址的收件人。在某些情况下,该字段可能包含多行信息。例如,它可能包含“转交”信息。

organization

string

可选。地址对应的组织的名称。

LatLng

表示纬度/经度对的对象。该对象以一对双精度数表示,分别代表纬度度数和经度度数。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。

JSON 表示法
{
  "latitude": number,
  "longitude": number
}
字段
latitude

number

纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。

longitude

number

经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。