Places Service (deprecated)

PlacesService 类

class google.maps.places.PlacesService
library "places"

包含与搜索地点和检索地点详情相关的方法。

const {PlacesService} = await google.maps.importLibrary("places");
PlacesService
PlacesService(attrContainer)
参数:
创建 PlacesService 的新实例,用于在指定容器中呈现提供方说明。
findPlaceFromPhoneNumber
findPlaceFromPhoneNumber(request, callback)
参数:
返回值:无
根据电话号码检索地点列表。在多数情况下,结果列表中应仅包含一项内容;但如果请求存在歧义,可能会返回多项结果。传递给回调的 PlaceResult 是完整 PlaceResult 的子集。您的应用可以通过调用 PlacesService.getDetails 并传递所需地点的 PlaceResult.place_id,获取每个地点的更详细的 PlaceResult。
findPlaceFromQuery
findPlaceFromQuery(request, callback)
参数:
返回值:无
根据查询字符串检索地点列表。在多数情况下,结果列表中应仅包含一项内容;但如果请求存在歧义,可能会返回多项结果。传递给回调的 PlaceResult 是完整 PlaceResult 的子集。您的应用可以通过调用 PlacesService.getDetails 并传递所需地点的 PlaceResult.place_id,获取每个地点的更详细的 PlaceResult。
getDetails
getDetails(request, callback)
参数:
返回值:无
根据指定的 placeId 检索对应地点的详情。
nearbySearch
nearbySearch(request, callback)
参数:
返回值:无
根据关键字或类型检索特定位置附近的地点列表。必须始终指定位置,方法是传递 LatLngBounds 或 location 和 radius 参数。传递给回调的 PlaceResult 是完整 PlaceResult 的子集。您的应用可以通过发送地点详情请求并传入目标地点的 PlaceResult.place_id,获取每个地点的完整 PlaceResult。PlaceSearchPagination 对象可用于提取更多结果页(若为最后一页结果或仅存在一页结果,则该对象为 null)。
textSearch
textSearch(request, callback)
参数:
返回值:无
根据查询字符串(例如“北京烤鸭”或“南京附近的鞋店”)检索地点列表。位置参数是可选的;指定位置后,结果只会偏向于附近的地点,而不会仅限于该区域内的地点。如果您想使用任意字符串搜索地点,并且不想将搜索结果限制在特定位置,请使用 textSearch。PlaceSearchPagination 对象可用于提取更多结果页(若为最后一页结果或仅存在一页结果,则该对象为 null)。

PlaceDetailsRequest 接口

接口 google.maps.places.PlaceDetailsRequest

要发送到 PlacesService 的地点详情查询。

placeId
类型:string
需获取详情的地点对应的地点 ID。
fields
可选
类型:Array<string> optional
要包含在详情响应中的字段,这些字段将计费。如果未指定任何字段或传入了 ['ALL'],系统会返回所有可用字段并据此计费(不建议用于生产环境中的部署)。如需查看字段列表,请参阅 PlaceResult。嵌套字段可以使用点路径(例如 "geometry.location")指定。
language
可选
类型:string optional
语言标识符,用于指定应以哪种语言返回详细信息。请参阅支持的语言列表。
region
可选
类型:string optional
用户所在地区的地区代码。这可能会影响返回的照片,还可能会影响其他方面。地区代码接受 ccTLD(“顶级域名”)双字符值。多数 ccTLD 代码都与 ISO 3166-1 代码相同,但也有一些需要注意的例外情况。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(代表“大不列颠及北爱尔兰联合王国”)。
sessionToken
可选
类型:AutocompleteSessionToken optional
用于将详情请求与自动补全会话绑定的唯一标识。

FindPlaceFromPhoneNumberRequest 接口

接口 google.maps.places.FindPlaceFromPhoneNumberRequest

要发送到 PlacesService.findPlaceFromPhoneNumber 的“通过文本搜索查找地点”请求。

fields
类型:Array<string>
响应中要包含的字段,这些字段将计费。如果传入的是 ['ALL'],系统会返回所有可用字段并据此计费(不建议用于生产环境中的部署)。如需查看字段列表,请参阅 PlaceResult。嵌套字段可以使用点路径(例如 "geometry.location")指定。
phoneNumber
类型:string
要查找的地点的电话号码。格式必须为 E.164。
language
可选
类型:string optional
语言标识符,用于指定应尽可能以哪种语言返回名称和地址。请参阅支持的语言列表。
locationBias
可选
类型:LocationBias optional
搜索地点时使用的偏向。结果将偏向于(但不限于)给定的 LocationBias。

FindPlaceFromQueryRequest 接口

接口 google.maps.places.FindPlaceFromQueryRequest

要发送到 PlacesService.findPlaceFromQuery 的“通过文本搜索查找地点”请求。

fields
类型:Array<string>
响应中要包含的字段,这些字段将计费。如果传入的是 ['ALL'],系统会返回所有可用字段并据此计费(不建议用于生产环境中的部署)。如需查看字段列表,请参阅 PlaceResult。嵌套字段可以使用点路径(例如 "geometry.location")指定。
query
类型:string
请求的查询内容。例如,地点的名称或地址。
language
可选
类型:string optional
语言标识符,用于指定应尽可能以哪种语言返回名称和地址。请参阅支持的语言列表。
locationBias
可选
类型:LocationBias optional
搜索地点时使用的偏向。结果将偏向于(但不限于)给定的 LocationBias。

PlaceSearchRequest 接口

接口 google.maps.places.PlaceSearchRequest

要发送到 PlacesService 的地点搜索查询。

bounds
可选
要在其中搜索地点的边界。如果设置了 bounds,系统会忽略 location 和 radius。
keyword
可选
类型:string optional
要与所有可用字段进行匹配的字词,包括但不限于名称、类型和地址,以及客户评价和其他第三方内容。
language
可选
类型:string optional
语言标识符,用于指定返回名称和地址时应使用的语言(如果可能)。请参阅支持的语言列表。
location
可选
类型:LatLng|LatLngLiteral optional
要在其周围搜索地点的地点。
maxPriceLevel
可选
类型:number optional
将结果限制为仅包含指定价位或更低价位的地点。有效值范围介于 0(最实惠)和 4(最昂贵)之间,包括 0 和 4。如果指定,则必须大于或等于 minPrice 。
minPriceLevel
可选
类型:number optional
将结果限制为仅包含指定价位或更高价位的地点。有效值范围介于 0(最实惠)和 4(最昂贵)之间,包括 0 和 4。如果指定,则必须小于或等于 maxPrice。
name
可选
类型:string optional
等同于 keyword。此字段中的值会与 keyword 字段中的值合并,作为同一搜索字符串的一部分进行传递。
openNow
可选
类型:boolean optional
将结果限制为当前处于营业状态的地点。
radius
可选
类型:number optional
用于搜索地点的范围半径,以米为单位。允许的最大值为 50,000。
rankBy
可选
类型:RankBy optional
默认值:RankBy.PROMINENCE
指定返回结果时要使用的排名方法。请注意,将 rankBy 设置为 DISTANCE 时,您必须指定 location,但不能指定 radius 或 bounds。
type
可选
类型:string optional
搜索指定类型的地点。该类型会翻译为请求的目标位置的本地语言,并用作查询字符串。如果还提供了查询,则会将其与本地化的类型字符串拼接。非指定类型的结果将从响应中剔除。使用此字段可执行与语言和地区无关的分类搜索。如需查看有效类型,请点击此处。

TextSearchRequest 接口

接口 google.maps.places.TextSearchRequest

要发送到 PlacesService 的文本搜索请求。

bounds
可选
在搜索地点时用于调整结果的边界(可选)。如果设置了 bounds,系统会忽略 location 和 radius。结果不会仅限于这些边界内的地点,但边界内的结果排名会更高。
language
可选
类型:string optional
语言标识符,用于指定应尽可能以哪种语言返回名称和地址。请参阅支持的语言列表。
location
可选
类型:LatLng|LatLngLiteral optional
在搜索地点时用于调整结果的区域中心。
query
可选
类型:string optional
相应请求的查询字词。例如,地点名称(“埃菲尔铁塔”)、带位置的分类(“纽约的披萨店”),或带位置限定的地点名称(“悉尼的星巴克”)。
radius
可选
类型:number optional
在搜索地点时用于调整结果的区域半径,以米为单位。
region
可选
类型:string optional
用于使结果偏向于特定区域的地区代码。地区代码接受 ccTLD(“顶级域名”)双字符值。多数 ccTLD 代码都与 ISO 3166-1 代码相同,但也有一些需要注意的例外情况。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(代表“大不列颠及北爱尔兰联合王国”)。
type
可选
类型:string optional
搜索指定类型的地点。该类型会翻译为请求的目标位置的本地语言,并用作查询字符串。如果还提供了查询,则会将其与本地化的类型字符串拼接。非指定类型的结果将从响应中剔除。使用此字段可执行与语言和地区无关的分类搜索。如需查看有效类型,请点击此处。

RankBy 常量

常量 google.maps.places.RankBy
库 "places"

PlaceSearchRequest 的排名选项。

const {RankBy} = await google.maps.importLibrary("places");
DISTANCE 按与指定位置的距离对地点搜索结果进行排名。
PROMINENCE 按知名度对地点搜索结果进行排名。

LocationBias typedef

typedef google.maps.places.LocationBias

LocationBias 表示在搜索地点时使用的软边界或提示。结果可能来自指定区域之外。如需使用当前用户的 IP 地址作为偏差,可以指定字符串 "IP_BIAS"。注意:如果使用 Circle,则必须定义中心和半径。

LatLng|LatLngLiteral|LatLngAltitude|LatLngAltitudeLiteral|LatLngBounds|LatLngBoundsLiteral|Circle|CircleLiteral|string

LocationRestriction typedef

typedef google.maps.places.LocationRestriction

LocationRestriction 表示在搜索地点时使用的严格边界。

LatLngBounds|LatLngBoundsLiteral

PlacesServiceStatus 常量

常量 google.maps.places.PlacesServiceStatus
库 "places"

PlacesService 在完成搜索后返回的状态。按值或使用常量名称指定这些值。例如 'OK' 或 google.maps.places.PlacesServiceStatus.OK。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 PlacesServiceStatusString 类型定义。

const {PlacesServiceStatus} = await google.maps.importLibrary("places");
INVALID_REQUEST 请求无效。
NOT_FOUND 找不到指定的地点。
OK 该响应包含有效的结果。
OVER_QUERY_LIMIT 应用已超出其请求配额。
REQUEST_DENIED 不允许应用使用 PlacesService。
UNKNOWN_ERROR 由于服务器错误,无法处理 PlacesService 请求。如果您再试一次,该请求可能会成功。
ZERO_RESULTS 该请求查询不到任何结果。

PlaceSearchPagination 接口

接口 google.maps.places.PlaceSearchPagination

用于提取更多地点结果页的对象。

hasNextPage
类型:boolean
表示是否还有其他结果。如果存在额外的结果页面,属性值为 true。
nextPage
nextPage()
参数:无
返回值:void
提取下一页结果。使用提供给第一个搜索请求的同一回调函数。

PlaceResult 接口

接口 google.maps.places.PlaceResult

定义有关地点的信息。

address_components
可选
类型:Array<GeocoderAddressComponent> optional
此地点位置的地址组成部分集合。仅适用于 PlacesService.getDetails。
adr_address
可选
类型:string optional
以 adr 微格式表示的地点地址。仅适用于 PlacesService.getDetails。
aspects
可选
类型:Array<PlaceAspectRating> optional
根据 Google 和 Zagat 用户评价得出的此地点的评分。评分范围为 0 到 30。
business_status
可选
类型:BusinessStatus optional
一个标志,用于指明地点的营业状态(如果该地点为商家),指示该地点是正常营业还是暂停营业或永久停业。如果没有可用数据,则搜索或详情响应中不会显示此标志。
formatted_address
可选
类型:string optional
地点的完整地址。
formatted_phone_number
可选
类型:string optional
地点的电话号码,按号码所属地区的格式规范显示。仅适用于 PlacesService.getDetails。
geometry
可选
类型:PlaceGeometry optional
地点的几何图形相关信息。
html_attributions
可选
类型:Array<string> optional
要针对此地点结果显示的提供方文字。无论请求了哪些 fields,系统始终会返回且必须显示可用的 html_attributions。
icon
可选
类型:string optional
指向可用于代表该地点类别的图片资源的网址。
icon_background_color
可选
类型:string optional
与地点图标搭配使用的背景颜色。另请参阅 PlaceResult.icon_mask_base_uri。
icon_mask_base_uri
可选
类型:string optional
指向图标遮罩的截断网址。通过在末尾附加文件扩展名(即 .svg 或 .png)来访问不同的图标类型。
international_phone_number
可选
类型:string optional
地点的电话号码(采用国际电话号码格式)。国际格式包含国家/地区代码,并以加号符号 (+) 作为前缀。仅适用于 PlacesService.getDetails。
name
可选
类型:string optional
地点的名称。注意:对于用户输入的地点,此为用户输入的原始文本。请谨慎使用此数据,因为恶意用户可能会尝试将其用作代码注入攻击的载体(请参阅 http://en.wikipedia.org/wiki/Code_injection)。
opening_hours
可选
类型:PlaceOpeningHours optional
定义地点的营业时间或关闭时间。
permanently_closed
可选
类型:boolean optional
一个标志,用于指明相应地点是否已停业(永久停业或暂时营业)。如果相应营业地点正在营业,或者没有可用的数据,则响应中不会包含此标志。
photos
可选
类型:Array<PlacePhoto> optional
此地点的照片。该集合最多可包含 10 个 PlacePhoto 对象。
place_id
可选
类型:string optional
地点的唯一标识符。
plus_code
可选
类型:PlacePlusCode optional
为地点定义 Open Location Code 或“Plus Code”。
price_level
可选
类型:number optional
相应地点的价格水平,范围为 0 到 4。价格水平的解读如下:
  • 0:免费
  • 1:价格实惠
  • 2:中等
  • 3:昂贵
  • 4:很贵
rating
可选
类型:number optional
根据此地点的用户评价得出的评分,介于 1.0 到 5.0 之间。
reviews
可选
类型:Array<PlaceReview> optional
此地点的评价列表。仅适用于 PlacesService.getDetails。
types
可选
类型:Array<string> optional
相应地点的类型数组(例如 ["political", "locality"] 或 ["restaurant", "establishment"])。
url
可选
类型:string optional
此地点的官方 Google 页面的网址。这是由 Google 拥有的页面,其中包含有关该地点的实用信息。仅适用于 PlacesService.getDetails。
user_ratings_total
可选
类型:number optional
参与相应地点的 PlaceResult.rating 的用户评分数量。
utc_offset
可选
类型:number optional
地点当前时区相对于世界协调时间 (UTC) 的偏移量(以分钟为单位)。例如,澳大利亚悉尼在夏令时期间比世界协调时间 (UTC) 早 11 个小时,因此 utc_offset 将为 660。对于晚于世界协调时间 (UTC) 的时区,偏移量为负。例如,佛得角的 utc_offset 为 -60。仅适用于 PlacesService.getDetails。
utc_offset_minutes
可选
类型:number optional
地点当前时区相对于世界协调时间 (UTC) 的偏移量(以分钟为单位)。例如,澳大利亚悉尼在夏令时期间比世界协调时间 (UTC) 早 11 个小时,因此 utc_offset_minutes 将为 660。对于晚于世界协调时间 (UTC) 的时区,偏移量为负。例如,佛得角的 utc_offset_minutes 为 -60。仅适用于 PlacesService.getDetails。
vicinity
可选
类型:string optional
地点的简化地址,包括街道名称、门牌号和市行政区,但不包括省/州、邮政编码或国家/地区。例如,Google 澳大利亚悉尼办事处的 vicinity 值为 "48 Pirrama Road, Pyrmont"。仅适用于 PlacesService.getDetails。
website
可选
类型:string optional
此地点的官方网站,例如商家主页。仅适用于 PlacesService.getDetails。

PlaceAspectRating 接口

接口 google.maps.places.PlaceAspectRating

定义有关用户评价过的地点的某个维度的信息。

rating
类型:number
相应维度的评分。对于单条评价,此值为介于 0 到 3 之间的整数。对于地点的汇总评分,这是一个介于 0 到 30 之间的整数。
type
类型:string
维度类型。例如 "food"、"decor"、"service" 或 "overall"。

BusinessStatus 常量

常量 google.maps.places.BusinessStatus
库 "places"

地点的营业状态。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 BusinessStatusString 类型定义。

const {BusinessStatus} = await google.maps.importLibrary("places");
CLOSED_PERMANENTLY 该场所已永久停业。如需了解详情,请参阅网络服务文档。
CLOSED_TEMPORARILY 该场所已暂停营业。如需了解详情,请参阅网络服务文档。
FUTURE_OPENING 该场所将在未来开业。如需了解详情,请参阅网络服务文档。
OPERATIONAL 该场所正在营业,但不一定现在开门。如需了解详情,请参阅网络服务文档。

PlaceGeometry 接口

接口 google.maps.places.PlaceGeometry

定义有关地点的地理几何信息。

location
可选
类型:LatLng optional
地点的地理坐标。
viewport
可选
类型:LatLngBounds optional
在地图上显示此地点时的首选视口。如果地点的首选视口未知,此属性将为 null。仅适用于 PlacesService.getDetails。

PlaceOpeningHours 接口

接口 google.maps.places.PlaceOpeningHours

定义地点营业时间的相关信息。

open_now
可选
类型:boolean optional
地点当前是否正在营业。
periods
可选
类型:Array<PlaceOpeningHoursPeriod> optional
涵盖一周中每一天的营业时段,从星期日开始,按时间顺序排列。不包含地点不营业的日子。仅适用于 PlacesService.getDetails。
weekday_text
可选
类型:Array<string> optional
包含七个字符串的数组,用于以特定格式表示一周内每天的营业时间。地点服务会根据当前语言设置营业时间格式,并进行本地化。此数组中元素的顺序取决于语言。有些语言以星期一作为一周的开始,有些语言则以星期日作为开始。仅适用于 PlacesService.getDetails。其他调用可能会返回空数组。
isOpen
isOpen([date])
参数:
  • date: Date optional
返回值:boolean|undefined
检查地点当前是否营业(未传递日期时),或在指定日期是否营业。如果此地点没有 PlaceResult.utc_offset_minutes 或 PlaceOpeningHours.periods,则返回 undefined(PlaceOpeningHours.periods 只能通过 PlacesService.getDetails 获取)。此方法不会考虑特殊营业时间,例如节假日营业时间。

PlaceOpeningHoursPeriod 接口

接口 google.maps.places.PlaceOpeningHoursPeriod

定义地点营业时间的结构化信息。注意:如果某个地点全天营业,响应中将缺少 close 部分。客户端可以通过以下方式表示全天营业:将 open 中的 day 设置为 0,将 time 设置为 "0000",并且不包含 close。

open
地点的开始营业时间。
close
可选
类型:PlaceOpeningHoursTime optional
地点的结束营业时间。

PlaceOpeningHoursTime 接口

接口 google.maps.places.PlaceOpeningHoursTime

定义地点的营业或停业时间。

day
类型:number
一周中的日期,以 [0, 6] 范围内的数字表示,从星期日开始。例如,2 表示星期二。
hours
类型:number
PlaceOpeningHoursTime.time 对应的小时数,以数字表示,范围为 [0, 23]。该值以地点所在时区为准。
minutes
类型:number
PlaceOpeningHoursTime.time 对应的分钟数,以数字表示,范围为 [0, 59]。该值以地点所在时区为准。
time
类型:string
一天中的时间,采用 24 小时制“hhmm”格式。取值范围为 ["0000", "2359"]。该值以地点所在时区为准。
nextDate
可选
类型:number optional
代表相应 PlaceOpeningHoursTime 下次出现时间的时间戳(使用自纪元起的毫秒数表示,可用于 new Date() 对象)。该时间戳根据一周中的 PlaceOpeningHoursTime.day、PlaceOpeningHoursTime.time 和 PlaceResult.utc_offset_minutes 计算得出。如果 PlaceResult.utc_offset_minutes 为 undefined,则 nextDate 将为 undefined。

PlacePlusCode 接口

接口 google.maps.places.PlacePlusCode

为地点定义 Open Location Code 或“Plus Code”。在没有街道地址的地点(例如建筑物未编号,或者街道未命名),Plus Code 可替代街道地址使用。

global_code
类型:string
精度为 1/8000 度 x 1/8000 度的 Plus Code。例如 "8FVC9G8F+5W"。
compound_code
可选
类型:string optional
精度为 1/8000 度 × 1/8000 度的 Plus Code,其中前四个字符(区域代码)被舍弃并替换为区域描述。例如 "9G8F+5W Zurich, Switzerland"。如果找不到可用于缩短代码的合适区域描述,则会省略此字段。

PlacePhoto 接口

接口 google.maps.places.PlacePhoto

表示地点的照片元素。

height
类型:number
照片的高度(以像素为单位)。
html_attributions
类型:Array<string>
要针对此照片显示的提供方文字。
width
类型:number
照片的宽度(以像素为单位)。
getUrl
getUrl([opts])
参数:
返回值:string
返回与指定选项对应的图片网址。

PhotoOptions 接口

接口 google.maps.places.PhotoOptions

定义照片请求选项。

maxHeight
可选
类型:number optional
返回的图片的最大高度(以像素为单位)。
maxWidth
可选
类型:number optional
返回的图片的最大宽度(以像素为单位)。

PlaceReview 接口

接口 google.maps.places.PlaceReview

表示对某个地点的单条评价。

author_name
类型:string
评价者的姓名。
language
类型:string
表示相应评价所用语言的 IETF 语言代码。请注意,该代码仅包含主语言标签,不包含表示国家/地区的次要标签。例如,所有英语评价的标签均为 'en',而非“en-AU”或“en-UK”。
profile_photo_url
类型:string
指向评价者个人资料图片的网址。
relative_time_description
类型:string
一个采用特定格式的近期时间字符串,以符合相应语言和国家/地区习惯的形式表示评价时间相对于当前时间的间隔。例如 "a month ago"。
text
类型:string
评价的文本。
time
类型:number
评价的时间戳,自新纪元开始算起,以秒为单位。
aspects
可选
类型:Array<PlaceAspectRating> optional
评论中涉及的评分维度。评分范围为 0 至 3。
author_url
可选
类型:string optional
指向评价者个人资料的网址。如果评价者的个人资料不可用,则此字段的值为 undefined。
rating
可选
类型:number optional
此评价的评分,介于 1.0 到 5.0 之间(含边界值)。