PlacesService 类
google.maps.places.PlacesService
类
包含与搜索地点和检索地点详细信息相关的方法。
通过调用 const {PlacesService} = await google.maps.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) 参数:
返回值:无
根据关键字或类型检索特定位置附近的地点列表。必须始终指定位置,方法是传递 LatLngBounds 或 location 和 radius 参数。传递给回调的 PlaceResult 是完整 PlaceResult 的子集。您的应用可以通过发送地点详情请求来获取每个地点的更详细的 PlaceResult ,并传递所需地点的 PlaceResult.place_id 。PlaceSearchPagination 对象可用于提取其他结果页面(如果这是最后一个结果页面或只有一个结果页面,则为 null)。 |
textSearch |
textSearch(request, callback) 参数:
返回值:无
根据查询字符串(例如“北京烤鸭”或“南京附近的鞋店”)检索地点列表。位置参数是可选的;指定位置后,结果只会偏向于附近的地点,而不会仅限于该区域内的地点。如果您想使用任意字符串搜索地点,并且不想将搜索结果限制在特定位置,请使用 textSearch 。PlaceSearchPagination 对象可用于提取其他结果页面(如果这是最后一个结果页面或只有一个结果页面,则为 null)。 |
PlaceDetailsRequest 接口
google.maps.places.PlaceDetailsRequest
接口
要发送到 PlacesService
的地点详情查询。
属性 | |
---|---|
placeId |
类型:
string 要为其请求详情的 Place 的 Place 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
的通过文本搜索查找地点的请求。
属性 | |
---|---|
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
的通过文本搜索查找地点的请求。
属性 | |
---|---|
fields |
类型:
Array<string> 要包含在响应中的字段,这些字段会产生费用。如果传入的是 ['ALL'] ,系统会返回所有可用字段并据此计费(不建议用于生产环境中的部署)。如需查看字段列表,请参阅 PlaceResult 。可以使用点路径指定嵌套字段(例如 "geometry.location" )。 |
query |
类型:
string 请求的查询。例如,地点的名称或地址。 |
language optional |
类型:
string optional 一种语言标识符,用于指定应尽可能以哪种语言返回名称和地址。请参阅支持的语言列表。 |
locationBias optional |
类型:
LocationBias optional 搜索地点时使用的偏差。结果会偏向于(但不限于)给定的 LocationBias 。 |
PlaceSearchRequest 接口
google.maps.places.PlaceSearchRequest
接口
要发送到 PlacesService
的地点搜索查询。
属性 | |
---|---|
bounds optional |
类型:
LatLngBounds|LatLngBoundsLiteral optional 要在其中搜索地点的边界。如果设置了 bounds ,系统会忽略 location 和 radius 。 |
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 。 |
|
类型:
string optional 等同于 keyword 。此字段中的值会与 keyword 字段中的值合并,作为同一搜索字符串的一部分进行传递。 |
openNow optional |
类型:
boolean optional 将结果限制为仅包含当前营业的地点。 |
radius optional |
类型:
number optional 搜索地点的范围,以米为单位,即与指定位置之间的距离。允许的最大值为 50,000。 |
rankBy optional |
类型:
RankBy optional 默认值:
RankBy.PROMINENCE 指定返回结果时要使用的排名方法。请注意,将 rankBy 设置为 DISTANCE 时,您必须指定 location ,但不能指定 radius 或 bounds 。 |
type optional |
类型:
string optional 搜索指定类型的地点。该类型会翻译为请求的目标位置的本地语言,并用作查询字符串。如果还提供了查询,则会将其与本地化的类型字符串串联起来。从响应中舍弃其他类型的结果。使用此字段可执行与语言和地区无关的分类搜索。如需查看有效类型,请点击此处。 |
TextSearchRequest 接口
google.maps.places.TextSearchRequest
接口
要发送到 PlacesService
的文本搜索请求。
属性 | |
---|---|
bounds optional |
类型:
LatLngBounds|LatLngBoundsLiteral optional 用于在搜索地点时对结果进行偏向处理的边界(可选)。如果设置了 bounds ,系统会忽略 location 和 radius 。结果不会仅限于这些边界内的地点,但边界内的结果排名会更高。 |
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 的排名选项。
通过调用 const {RankBy} = await google.maps.importLibrary("places")
进行访问。
请参阅 Maps JavaScript API 中的库。
常量 | |
---|---|
DISTANCE |
按与地点的距离对地点搜索结果进行排名。 |
PROMINENCE |
按地点结果的知名度对其进行排名。 |
LocationBias typedef
google.maps.places.LocationBias
typedef
LocationBias 表示在搜索地点时使用的软边界或提示。结果可能来自指定区域以外的区域。如需使用当前用户的 IP 地址作为偏差,可以指定字符串 "IP_BIAS"
。注意:如果使用 Circle
,则必须定义中心和半径。
LatLng|LatLngLiteral|LatLngBounds|LatLngBoundsLiteral|Circle|CircleLiteral|string
LocationRestriction typedef
google.maps.places.LocationRestriction
typedef
LocationRestriction 表示在搜索地点时要使用的严格边界。
PlacesServiceStatus 常量
google.maps.places.PlacesServiceStatus
常量
PlacesService
在完成搜索时返回的状态。您可以通过值或使用常量的名称来指定这些参数。例如 'OK'
或 google.maps.places.PlacesServiceStatus.OK
。
通过调用 const {PlacesServiceStatus} = await google.maps.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
接口
用于提取更多地点结果的对象。
属性 | |
---|---|
hasNextPage |
类型:
boolean 表示是否还有其他结果。如果存在额外的结果页面,属性值为 true 。 |
方法 | |
---|---|
nextPage |
nextPage() 参数:无
返回值:
void 获取下一页结果。使用提供给第一个搜索请求的同一回调函数。 |
PlaceResult 接口
google.maps.places.PlaceResult
接口
定义有关地点的信息。
属性 | |
---|---|
address_components optional |
类型:
Array<GeocoderAddressComponent> optional 相应地点的地址组成部分集合。仅适用于 PlacesService.getDetails 。 |
adr_address optional |
类型:
string optional 以 adr 微格式表示的 Place 的地址。仅适用于 PlacesService.getDetails 。 |
aspects optional |
类型:
Array<PlaceAspectRating> optional 根据 Google 和 Zagat 用户评价得出的此地点的评分方面。评分范围为 0 到 30。 |
business_status optional |
类型:
BusinessStatus optional 一个标志,用于指明地点的营业状态(如果该地点为商家),表示该地点是正常营业还是暂停营业或永久停业。如果没有可用的数据,则搜索或详情响应中不会显示此标志。 |
formatted_address optional |
类型:
string optional Place 的完整地址。 |
formatted_phone_number optional |
类型:
string optional 地点的电话号码,其格式遵循 号码的地区惯例。仅适用于 PlacesService.getDetails 。 |
geometry optional |
类型:
PlaceGeometry optional 地点的几何图形相关信息。 |
html_attributions optional |
类型:
Array<string> optional 要针对此地点结果显示的提供方说明文本。无论请求了哪些 fields ,系统始终会返回可用的 html_attributions ,并且必须显示这些 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_injection)。 |
opening_hours optional |
类型:
PlaceOpeningHours 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。价格水平的解读如下:
|
rating optional |
类型:
number optional 根据用户对相应地点的评价得出的评分,介于 1.0 到 5.0 之间。 |
reviews optional |
类型:
Array<PlaceReview> optional 相应地点的评价列表。仅适用于 PlacesService.getDetails 。 |
types optional |
类型:
Array<string> optional |
url optional |
类型:
string optional 相应地点的官方 Google 页面的网址。这是由 Google 拥有的页面,其中包含有关该地点的实用信息。仅适用于 PlacesService.getDetails 。 |
user_ratings_total optional |
类型:
number optional 促成相应地点的 PlaceResult.rating 的用户评分数量。 |
|