Places Service

PlacesService class

google.maps.places.PlacesService class

包含與搜尋地點及擷取地點詳細資料相關的方法。

撥打 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,或 locationradius 參數。傳遞至回呼的 PlaceResult 是完整 PlaceResult 的子集。應用程式可以傳送 Place Details 要求,並傳遞所需地點的 PlaceResult.place_id,取得每個地點的詳細 PlaceResultPlaceSearchPagination 物件可用來擷取其他結果頁面 (如果這是最後一頁結果,或只有一頁結果,則為空值)。
textSearch
textSearch(request, callback)
參數: 
傳回值:
根據查詢字串 (例如「紐約市的披薩」或「渥太華附近的鞋店」) 擷取地點清單。位置參數為選用參數。指定位置後,系統只會優先顯示附近的結果,不會限制在該區域內的地點。如要使用任意字串搜尋地點,且不想將搜尋結果限制在特定地點,請使用 textSearchPlaceSearchPagination 物件可用來擷取其他結果頁面 (如果這是最後一頁結果,或只有一頁結果,則為空值)。

PlaceDetailsRequest 介面

google.maps.places.PlaceDetailsRequest 介面

要傳送至 PlacesService 的 Place Details 查詢。

placeId
類型:  string
要查詢詳細資料的地點 ID。
fields optional
類型:  Array<string> optional
要納入詳細資料回應的欄位,這些欄位會產生費用。如未指定任何欄位,或已傳入 ['ALL'],系統會傳回所有可用的欄位並據此收費 (不適用於實際工作環境部署作業)。如需欄位清單,請參閱 PlaceResult。巢狀欄位可使用點路徑指定 (例如 "geometry.location")。
language optional
類型:  string optional
詳細資料應傳回的語言 ID。請參閱支援語言清單
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
盡可能以指定語言傳回名稱和地址的語言 ID。請參閱支援語言清單
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
盡可能以指定語言傳回名稱和地址的語言 ID。請參閱支援語言清單
locationBias optional
類型:  LocationBias optional
搜尋地點時使用的偏誤。結果可能會優先 (但不限於) 顯示指定 LocationBias 內的地點。

PlaceSearchRequest 介面

google.maps.places.PlaceSearchRequest 介面

要傳送至 PlacesService 的地點搜尋查詢。

bounds optional
類型:  LatLngBounds|LatLngBoundsLiteral optional
用於搜尋地點的邊界。如果設定 bounds,系統會忽略 locationradius
keyword optional
類型:  string optional
要與所有可用欄位比對的字詞,包括但不限於名稱、類型、地址、顧客評論以及其他第三方內容。
language optional
類型:  string optional
盡可能以指定語言傳回名稱和地址的語言 ID。請參閱支援語言清單
location optional
類型:  LatLng|LatLngLiteral optional
用於搜尋附近「地點」的根據地點。
maxPriceLevel optional
類型:  number optional
限制系統只傳回指定價格範圍內或更低的地點。有效值介於 0 (最便宜) 和 4 (最昂貴),含首尾。如果指定,則必須大於或等於 minPrice
minPriceLevel optional
類型:  number optional
限制系統只傳回指定價格範圍內的地點。有效值介於 0 (最便宜) 和 4 (最昂貴),含首尾。如要指定,必須小於或等於 maxPrice
name optional
類型:  string optional
等同於 keyword。這個欄位的值會與 keyword 欄位的值合併,並做為同一個搜尋字串的一部分傳送。
openNow optional
類型:  boolean optional
限制系統只傳回目前營業的地點。
radius optional
類型:  number optional
以指定地點為中心,搜尋地點的距離 (以公尺為單位)。允許的最大值為 50,000。
rankBy optional
類型:  RankBy optional
預設值: RankBy.PROMINENCE
指定傳回結果時使用的排名方法。請注意,當 rankBy 設為 DISTANCE 時,您必須指定 location,但無法指定 radiusbounds
type optional
類型:  string optional
搜尋指定類型的地點。系統會將類型翻譯為要求目標地區的當地語言,並做為查詢字串。如果也提供查詢,系統會將查詢與本地化類型字串串連。系統會從回覆中捨棄其他類型的結果。使用這個欄位執行與語言和區域無關的類別搜尋。有效類型請參閱這裡

TextSearchRequest 介面

google.maps.places.TextSearchRequest 介面

要傳送至 PlacesService 的文字搜尋要求。

bounds optional
類型:  LatLngBounds|LatLngBoundsLiteral optional
搜尋地點時用來調整結果的範圍 (選用)。如果設定 bounds,系統會忽略 locationradius。結果不限於這些邊界內的地點,但邊界內的地點會優先顯示。
language optional
類型:  string optional
盡可能以指定語言傳回名稱和地址的語言 ID。請參閱支援語言清單
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 地點搜尋結果會依與該地點的距離排序。