Places Service

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

PlacesService

google.maps.places.PlacesService

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

使用 v=beta 时,可通过调用 const {PlacesService} = await google.map.importLibrary("places") 进行访问。请参阅 Maps JavaScript API 中的库

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)
参数
返回值:无
根据关键字或类型检索特定位置附近的地点列表。必须始终指定位置,方法是传递 LatLngBoundslocationradius 参数。传递给回调的 PlaceResult 是完整 PlaceResult 的子集。您的应用可以发送“地点详情”请求,传递所需地点的 PlaceResult.place_id,从而获取每个地点更详细的 PlaceResultPlaceSearchPagination 对象可用于获取其他结果页(如果这是最后一页或者只有一页结果,则为 null)。
textSearch
textSearch(request, callback)
参数
返回值:无
根据查询字符串(例如“北京烤鸭”或“南京附近的鞋店”)检索地点列表。位置参数是可选的;指定位置后,结果只会偏向于附近的结果,而不是局限于该区域内的地点。如果您希望使用任意字符串搜索地点,且不想将搜索结果限制在特定位置,请使用 textSearchPlaceSearchPagination 对象可用于获取其他结果页(如果这是最后一页或者只有一页结果,则为 null)。

PlaceDetailsRequest 接口

google.maps.places.PlaceDetailsRequest接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

FindPlaceFromPhoneNumberRequest 接口

google.maps.places.FindPlaceFromPhoneNumberRequest接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

FindPlaceFromQueryRequest 接口

google.maps.places.FindPlaceFromQueryRequest接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

PlaceSearchRequest 接口

google.maps.places.PlaceSearchRequest接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

TextSearchRequest 接口

google.maps.places.TextSearchRequest接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

bounds optional
用于在搜索地点时使结果偏向的边界(可选)。如果设置了 boundslocationradius 都会被忽略。结果不会局限于这些边界以内;但其中的结果将排在前面。
language optional
类型string optional
返回语言和地址所用语言(如果可能)的语言标识符。请参阅支持的语言列表
location optional
类型LatLng|LatLngLiteral optional
搜索地点时用于偏向结果的区域中心。
query optional
类型string optional
请求的查询字词。例如,地点名称(“埃菲尔铁塔”)、类别,后跟地点名称(“北京烤鸭”),或者地点名称后接地理位置歧义词(“北京星巴克”)。
radius optional
类型number optional
搜索地点时用于对结果进行偏向的区域的半径(以米为单位)。
region optional
类型string optional
使结果偏向的地区代码。地区代码接受 ccTLD(“顶级域名”)双字符值。多数 ccTLD 代码都与 ISO 3166-1 代码相同,但也有一些需要注意的例外情况。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(特指“大不列颠及北爱尔兰联合王国”)。
type optional
类型string optional
搜索指定类型的地点。该类型会转换为请求的目标位置的本地语言,并用作查询字符串。如果还提供了查询,则该查询会串联到本地化的类型字符串上。不同类型的结果将从响应中移除。使用此字段执行与语言和区域无关的分类搜索。此处提供了有效的类型。

RankBy 常量

google.maps.places.RankBy 常量

PlaceSearchRequest 的排名选项。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

使用 v=beta 时,可通过调用 const {RankBy} = await google.map.importLibrary("places") 进行访问。请参阅 Maps JavaScript API 中的库

DISTANCE 排名结果按照与营业地点的距离。
PROMINENCE 排名取决于结果的显眼程度。

LocationBias typedef

google.maps.places.LocationBias类型定义符

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

LocationRestriction 类型定义符

google.maps.places.LocationRestriction类型定义符

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

LatLngBounds|LatLngBoundsLiteral

PlacesServiceStatus 常量

google.maps.places.PlacesServiceStatus 常量

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

使用 v=beta 时,可通过调用 const {PlacesServiceStatus} = await google.map.importLibrary("places") 进行访问。请参阅 Maps JavaScript API 中的库

INVALID_REQUEST 该请求无效。
NOT_FOUND 找不到引用的地点。
OK 响应中包含有效结果。
OVER_QUERY_LIMIT 应用已超出其请求配额。
REQUEST_DENIED 不允许该应用使用 PlacesService
UNKNOWN_ERROR 由于服务器错误,无法处理 PlacesService 请求。如果您重试一次,请求可能会成功
ZERO_RESULTS 该请求查询不到任何结果。

PlaceSearchPagination 接口

google.maps.places.PlaceSearchPagination接口

用于提取其他地点结果页面的对象。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

hasNextPage
类型boolean
指示是否有更多结果。如果还有额外的结果页,请使用 true
nextPage
nextPage()
参数:无
返回值:无
获取下一页结果。使用为第一个搜索请求提供的回调函数。

PlaceResult 接口

google.maps.places.PlaceResult接口

定义关于地点的信息。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

PlaceAspectRating 接口

google.maps.places.PlaceAspectRating接口

定义与用户评价的地点的某一方面相关的信息。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

rating
类型number
此方面的评分。对于单条评价,这是一个 0 到 3 之间的整数。对于地点的汇总评分,这是一个 0 到 30 之间的整数。
type
类型string
宽高比类型。例如 "food""decor""service""overall"

BusinessStatus 常量

google.maps.places.BusinessStatus 常量

地点的营业状态(如果该地点为商家),在 PlaceResult 中返回(指明该地点是正常营业还是暂停营业或永久停业)。请按值或常量名称指定这些值(例如:'OPERATIONAL'google.maps.places.BusinessStatus.OPERATIONAL)。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

使用 v=beta 时,可通过调用 const {BusinessStatus} = await google.map.importLibrary("places") 进行访问。请参阅 Maps JavaScript API 中的库

CLOSED_PERMANENTLY 商家已永久停业。
CLOSED_TEMPORARILY 商家已暂停营业。
OPERATIONAL 商家正常运行。

PlaceGeometry 接口

google.maps.places.PlaceGeometry接口

定义关于地点几何图形的信息。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

location optional
类型LatLng optional
地点的位置。
viewport optional
类型LatLngBounds optional
在地图上显示该地方时的首选视口。如果不知道该地点的首选视口,此属性将为 null。仅适用于 PlacesService.getDetails

PlaceOpeningHours 接口

google.maps.places.PlaceOpeningHours接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

PlaceOpeningHoursPeriod 接口

google.maps.places.PlaceOpeningHoursPeriod接口

定义关于地点营业时间的结构化信息。注意:如果某个地点全天营业,响应中将缺少 close 部分。客户端可以放心地表示为 open 时段,该时段包含值为 0day 和值为 "0000"time,不带 close

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

open
该地点的开业时间。
close optional
类型PlaceOpeningHoursTime optional
该地点的结束营业时间。

PlaceOpeningHoursTime 接口

google.maps.places.PlaceOpeningHoursTime接口

定义地点的开始或关闭时间。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

day
类型number
一周中的第几天,以 [0, 6] 范围内的数字表示(从星期日开始)。例如,2 表示星期二。
hours
类型number
PlaceOpeningHoursTime.time 的小时数,范围为 [0, 23]。系统会按照相应地点的时区进行报告。
minutes
类型number
PlaceOpeningHoursTime.time 的分钟数,以 [0, 59] 为单位。系统会按照地点的时区进行报告。
time
类型string
一天中的时间,采用 24 小时“hhmm”格式。值的范围为 ["0000", "2359"]。系统会按照地点的时区报告时间。
nextDate optional
类型number optional
表示该 PlaceOpeningHoursTime 的下一次出现的时间戳(以毫秒为单位,从 Epoch 起算,适合与 new Date() 搭配使用)。此数据是根据周的 PlaceOpeningHoursTime.dayPlaceOpeningHoursTime.timePlaceResult.utc_offset_minutes 计算得出的。如果 PlaceResult.utc_offset_minutesundefined,则 nextDateundefined

PlacePlusCode 接口

google.maps.places.PlacePlusCode接口

定义地点的“开放地点代码”或“Plus 代码”。Plus Codes 可用于取代位于虚假地点的街道地址,例如无编号的建筑物或无名街道。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

global_code
类型string
一个 1/8000 度乘以 1/8000 度面积的 Plus 代码。例如 "8FVC9G8F+5W"
compound_code optional
类型string optional
一个 1/8000 度、1/8000 度范围的 Plus 代码,其中前四个字符(区号)会被删除并替换为市行政区说明。例如 "9G8F+5W Zurich, Switzerland"。如果找不到合适的缩短市行政区,则省略此字段。

PlacePhoto 接口

google.maps.places.PlacePhoto接口

表示地点的照片元素。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

PhotoOptions 接口

google.maps.places.PhotoOptions接口

定义照片请求选项。

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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

PlaceReview 接口

google.maps.places.PlaceReview接口

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

使用 &libraries=places 网址参数加载。请参阅 Maps JavaScript API 中的库

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 optional
类型Array<PlaceAspectRating> optional
评价中评价的各个方面。评分范围为 0 到 3 分。
author_url optional
类型string optional
评价者个人资料的网址。如果审核者的个人资料不可用,此值将为 undefined
rating optional
类型number optional
评价的评分,是一个 1.0 到 5.0 之间的数字(含 1.0 和 5.0)。