การค้นหาข้อความ (ใหม่) จะแสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้กับออตตาวา" หรือ "123 Main Street" บริการจะแสดงรายการสถานที่ที่ตรงกับสตริงข้อความและค่ากำหนดสถานที่ตั้งที่ตั้งไว้
บริการนี้มีประโยชน์อย่างยิ่งสำหรับการการค้นหาที่อยู่ที่ไม่ชัดเจนในระบบอัตโนมัติ และองค์ประกอบที่ไม่ใช่ที่อยู่ของสตริงอาจจับคู่กับธุรกิจและที่อยู่ได้ ตัวอย่างคำค้นหาที่อยู่ที่ไม่ชัดเจน ได้แก่ ที่อยู่หรือคำขอที่มีการจัดรูปแบบไม่ดีและมีองค์ประกอบที่ไม่ใช่ที่อยู่ เช่น ชื่อธุรกิจ คำขออย่างเช่นตัวอย่าง 2 รายการแรกในตารางต่อไปนี้อาจแสดงผลลัพธ์เป็น 0 เว้นแต่จะมีการตั้งค่าสถานที่ เช่น ภูมิภาค ข้อจำกัดด้านสถานที่ หรือความลำเอียงด้านสถานที่
"10 High Street, UK" หรือ "123 Main Street, US" | "High Street" หลายแห่งในสหราชอาณาจักร "Main Street" หลายแห่งในสหรัฐอเมริกา การค้นหาไม่แสดงผลลัพธ์ที่ต้องการ เว้นแต่จะมีการตั้งค่าการจํากัดตําแหน่ง |
"แฟรนไชส์ร้านอาหารนิวยอร์ก" | สถานที่ตั้ง "ChainRestaurant" หลายแห่งในนิวยอร์ก ไม่มีที่อยู่หรือแม้แต่ชื่อถนน |
"10 High Street, Escher UK" หรือ "123 Main Street, Pleasanton US" | "High Street" เพียงแห่งเดียวในเมือง Escher ของสหราชอาณาจักร แต่มีเพียง "Main Street" เดียวในเมือง Pleasanton CA ของสหรัฐอเมริกา |
"UniqueRestaurantName New York" | มีสถานประกอบการเพียงแห่งเดียวในนิวยอร์กที่ใช้ชื่อนี้ จึงไม่จำเป็นต้องระบุที่อยู่ |
"ร้านอาหารพิซซ่าในนิวยอร์ก" | คําค้นหานี้มีข้อจํากัดด้านสถานที่ตั้ง และ "ร้านอาหารพิซซ่า" เป็นประเภทสถานที่ที่กําหนดไว้อย่างชัดเจน แสดงผลการค้นหาหลายรายการ |
"+1 514-670-8700" | คําค้นหานี้มีหมายเลขโทรศัพท์ โดยจะแสดงผลลัพธ์หลายรายการสำหรับสถานที่ที่เชื่อมโยงกับหมายเลขโทรศัพท์นั้น |
เครื่องมือสํารวจ API ช่วยให้คุณส่งคําขอแบบเรียลไทม์เพื่อให้คุณคุ้นเคยกับ API และตัวเลือก API ต่อไปนี้
คำขอการค้นหาข้อความ
คำขอการค้นหาข้อความคือคำขอ HTTP POST ในรูปแบบต่อไปนี้
https://places.googleapis.com/v1/places:searchText
ส่งพารามิเตอร์ทั้งหมดในเนื้อหาคําขอ JSON หรือในส่วนหัวเป็นส่วนหนึ่งของคําขอ POST เช่น
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
การตอบกลับการค้นหาข้อความ (ใหม่)
การค้นหาข้อความ (ใหม่) จะแสดงผล ออบเจ็กต์ JSON เป็นการตอบกลับ ในการตอบกลับ
- อาร์เรย์
places
มีสถานที่ที่ตรงกันทั้งหมด - สถานที่แต่ละแห่งในอาร์เรย์จะแสดงด้วยออบเจ็กต์
Place
ออบเจ็กต์Place
มีรายละเอียดเกี่ยวกับสถานที่เดียว - FieldMask ที่ส่งในคําขอจะระบุรายการช่องที่แสดงผลในออบเจ็กต์
Place
ออบเจ็กต์ JSON ที่สมบูรณ์อยู่ในรูปแบบดังนี้
{ "places": [ { object (Place) } ] }
พารามิเตอร์ที่จำเป็น
-
FieldMask
ระบุรายการช่องที่จะแสดงในการตอบกลับโดยสร้างมาสก์ช่องคำตอบ ส่งมาสก์ช่องการตอบกลับไปยังเมธอดโดยใช้พารามิเตอร์ URL
$fields
หรือfields
หรือใช้ส่วนหัว HTTPX-Goog-FieldMask
ไม่มีการระบุรายการช่องที่แสดงผลเริ่มต้นในการตอบกลับ หากคุณละเว้นมาสก์ช่อง เมธอดจะแสดงข้อผิดพลาดการมาสก์ฟิลด์เป็นแนวทางปฏิบัติด้านการออกแบบที่ดีเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและค่าบริการเรียกเก็บเงินที่ไม่จำเป็น
ระบุรายการประเภทข้อมูลสถานที่ที่คั่นด้วยคอมมาเพื่อแสดงผล เช่น เพื่อดึงข้อมูลชื่อที่แสดงและที่อยู่ของสถานที่
X-Goog-FieldMask: places.displayName,places.formattedAddress
ใช้
*
เพื่อเรียกข้อมูลทุกช่องX-Goog-FieldMask: *
ระบุฟิลด์ต่อไปนี้อย่างน้อย 1 ฟิลด์
ฟิลด์ต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (รหัสเท่านั้น)
places.attributions
,places.id
,places.name
*,nextPageToken
* ช่องplaces.name
มีชื่อทรัพยากรสถานที่ในรูปแบบplaces/PLACE_ID
ใช้places.displayName
เพื่อเข้าถึงชื่อข้อความของสถานที่ช่องต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (พื้นฐาน)
places.accessibilityOptions
,places.addressComponents
,places.adrFormatAddress
,places.businessStatus
,places.containingPlaces
,places.displayName
,places.formattedAddress
,places.googleMapsLinks
*,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.location
,places.iconMaskBaseUri
,places.location
,places.iconMaskBaseUri
,places.businessStatus
,places.containingPlaces
,places.containingPlaces
,places.displayName
,places.formattedAddress
,places.googleMapsLinks
*,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.location
,places.iconMaskBaseUri
,places.location
,places.photos
, {13/places.containingPlaces
,places.displayName
,places.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
, {4places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
ฟิลด์ต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (ขั้นสูง)
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.priceRange
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
ช่องต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (แนะนำ)
ที่places.allowsDogs
,places.curbsidePickup
,places.delivery
,places.dineIn
,places.editorialSummary
,places.evChargeOptions
,places.fuelOptions
,places.goodForChildren
,places.goodForGroups
,places.goodForWatchingSports
,places.liveMusic
,places.menuForChildren
,places.liveMusic
,places.menuForChildren
,places.delivery
,places.dineIn
,places.editorialSummary
,places.editorialSummary
places.evChargeOptions
,places.fuelOptions
,places.goodForChildren
,places.goodForGroups
,places.goodForWatchingSports
,places.liveMusic
,places.menuForChildren
,places.parkingOptions
,places.menuForChildren
,places.parkingOptions
,places.paymentOptions
, {12places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.routingSummaries
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
-
textQuery
สตริงข้อความที่จะค้นหา เช่น "restaurant", "123 Main Street" หรือ "สถานที่ท่องเที่ยวยอดนิยมในซานฟรานซิสโก" API จะแสดงผลลัพธ์ที่ตรงกันโดยอิงตามสตริงนี้และจัดเรียงผลลัพธ์ตามความเกี่ยวข้องที่รับรู้
พารามิเตอร์ที่ไม่บังคับ
includedType
จำกัดผลการค้นหาให้แสดงเฉพาะสถานที่ที่ตรงกับประเภทที่ระบุซึ่งกำหนดโดยตาราง ก ระบุได้เพียงประเภทเดียว เช่น
"includedType":"bar"
"includedType":"pharmacy"
-
includePureServiceAreaBusinesses
หากตั้งค่าเป็น
true
การตอบกลับจะรวมธุรกิจที่มีบริการแบบถึงที่หรือออกให้บริการแก่ลูกค้าโดยตรง แต่ไม่มีที่ตั้งธุรกิจจริง หากตั้งค่าเป็นfalse
API จะแสดงผลเฉพาะธุรกิจที่มีสถานที่ตั้งจริงของธุรกิจ languageCode
ภาษาที่จะแสดงผลลัพธ์
- ดูรายการภาษาที่รองรับ Google จะอัปเดตภาษาที่รองรับบ่อยครั้ง รายการนี้จึงอาจไม่ครบถ้วนสมบูรณ์
-
หากไม่ได้ระบุ
languageCode
ระบบจะใช้en
เป็นค่าเริ่มต้นของ API หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะแสดงข้อผิดพลาดINVALID_ARGUMENT
- API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่ซึ่งอ่านได้ทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมาย ฟีเจอร์นี้จะแสดงผลที่อยู่ในภาษาท้องถิ่น และถอดเสียงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น โดยสังเกตภาษาที่ต้องการ ระบบจะแสดงผลที่อยู่อื่นๆ ทั้งหมดเป็นภาษาที่ต้องการ ระบบจะแสดงองค์ประกอบที่อยู่ทั้งหมดเป็นภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
- หากไม่มีชื่อในภาษาที่ต้องการ API จะใช้การจับคู่ที่ตรงกันที่สุด
- ภาษาที่ต้องการมีอิทธิพลเพียงเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกแสดงและลําดับที่แสดงผล โปรแกรมแปลพิกัดภูมิศาสตร์จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง
locationBias
ระบุพื้นที่ที่จะค้นหา ตำแหน่งนี้ใช้เป็นค่ากําหนด ซึ่งหมายความว่าระบบจะแสดงผลการค้นหารอบๆ ตำแหน่งที่ระบุ รวมถึงผลการค้นหานอกพื้นที่ที่ระบุ
คุณสามารถระบุ
locationRestriction
หรือlocationBias
เพียงรายการใดรายการหนึ่ง ให้คิดว่าlocationRestriction
คือการกำหนดภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และlocationBias
คือการกำหนดภูมิภาคที่ผลการค้นหามีแนวโน้มที่จะอยู่ภายในหรือใกล้ๆ แต่อยู่นอกพื้นที่ได้ระบุภูมิภาคเป็นวิวพอร์ตสี่เหลี่ยมผืนผ้าหรือเป็นวงกลม
วงกลมจะกำหนดโดยจุดศูนย์กลางและรัศมีเป็นเมตร รัศมีต้องอยู่ระหว่าง 0.0 ถึง 50000.0 เท่านั้น รัศมีเริ่มต้นคือ 0.0 เช่น
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
สี่เหลี่ยมผืนผ้าคือวิวพอร์ตละติจูด-ลองจิจูด ซึ่งแสดงเป็นจุดต่ำและจุดสูง 2 จุดที่ตรงข้ามกันตามแนวทแยงมุม จุดต่ำสุดแสดงมุมตะวันตกเฉียงใต้ของสี่เหลี่ยมผืนผ้า และจุดสูงสุดแสดงมุมตะวันออกเฉียงเหนือของสี่เหลี่ยมผืนผ้า
วิวพอร์ตถือเป็นภูมิภาคแบบปิด ซึ่งหมายความว่าจะมีขอบเขตรวมอยู่ด้วย ขอบเขตของละติจูดต้องอยู่ระหว่าง -90 ถึง 90 องศา และขอบเขตของลองจิจูดต้องอยู่ระหว่าง -180 ถึง 180 องศา (รวม - 180 ถึง 180 องศา)
- หาก
low
=high
วิวพอร์ตจะประกอบด้วยจุดเดียว - หาก
low.longitude
>high.longitude
ระบบจะกลับช่วงลองจิจูด (วิวพอร์ตตัดเส้นลองจิจูด 180 องศา) - หาก
low.longitude
= -180 องศาและhigh.longitude
= 180 องศา วิวพอร์ตจะรวมลองจิจูดทั้งหมด - หาก
low.longitude
= 180 องศาและhigh.longitude
= -180 องศา ช่วงลองจิจูดจะว่างเปล่า - หาก
low.latitude
>high.latitude
ช่วงละติจูดจะว่างเปล่า
ต้องป้อนข้อมูลทั้งระดับต่ำและสูง และช่องที่แสดง จะเว้นว่างไม่ได้ วิวพอร์ตว่างเปล่าจะทำให้เกิดข้อผิดพลาด
ตัวอย่างเช่น วิดเจ็ตนี้แสดงภาพนิวยอร์กซิตี้โดยสมบูรณ์
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- หาก
locationRestriction
ระบุพื้นที่ที่จะค้นหา ระบบจะไม่แสดงผลลัพธ์ที่อยู่นอกพื้นที่ที่ระบุ ระบุภูมิภาคเป็นวิวพอร์ตสี่เหลี่ยมผืนผ้า ดูข้อมูลเกี่ยวกับการกำหนดวิวพอร์ตในคำอธิบาย
locationBias
คุณจะระบุ
locationRestriction
หรือlocationBias
ได้ แต่ระบุทั้ง 2 อย่างไม่ได้ ให้คิดว่าlocationRestriction
เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และlocationBias
เป็นการระบุภูมิภาคที่ผลการค้นหามีแนวโน้มที่จะอยู่ภายในหรือใกล้ๆ แต่อยู่นอกพื้นที่ได้-
maxResultCount (เลิกใช้งานแล้ว)
ระบุจํานวนผลการค้นหา (ระหว่าง 1 ถึง 20) ที่จะแสดงต่อหน้า เช่น การตั้งค่า
maxResultCount
เป็น 5 จะแสดงผลลัพธ์สูงสุด 5 รายการในหน้าแรก หากมีผลการค้นหาเพิ่มเติมที่แสดงได้จากการค้นหา คำตอบจะมีnextPageToken
ที่คุณส่งไปยังคำขอถัดไปเพื่อเข้าถึงหน้าถัดไปได้ evOptions
ระบุพารามิเตอร์สำหรับระบุหัวชาร์จรถยนต์ไฟฟ้า (EV) และอัตราค่าบริการชาร์จที่มีให้บริการ
connectorTypes
กรองตามประเภทหัวชาร์จ EV ที่พร้อมให้บริการ ณ สถานที่หนึ่งๆ ระบบจะกรองสถานที่ที่ไม่รองรับขั้วต่อประเภทใดก็ตามออก ประเภทหัวชาร์จ EV ที่รองรับรวมถึงที่ชาร์จแบบรวม (AC และ DC), ที่ชาร์จ Tesla, ที่ชาร์จที่รองรับ GB/T (สำหรับการชาร์จ EV เร็วในจีน) และที่ชาร์จของเต้ารับติดผนัง ดูข้อมูลเพิ่มเติมได้ที่เอกสารอ้างอิง
minimumChargingRateKw
กรองสถานที่ตามอัตราชาร์จ EV ขั้นต่ำเป็นกิโลวัตต์ (kW) ระบบจะกรองสถานที่ที่มีอัตราค่าบริการต่ำกว่าอัตราค่าบริการขั้นต่ำออก เช่น หากต้องการค้นหาที่ชาร์จ EV ที่มีอัตราการชาร์จอย่างน้อย 10 กิโลวัตต์ คุณก็ตั้งค่าพารามิเตอร์นี้เป็น "10" ได้
minRating
จำกัดผลลัพธ์ไว้เฉพาะรายการที่มีคะแนนโดยเฉลี่ยจากผู้ใช้มากกว่าหรือเท่ากับขีดจำกัดนี้ ค่าต้องอยู่ระหว่าง 0.0 ถึง 5.0 (รวม) โดยเพิ่มขึ้นทีละ 0.5 เช่น 0, 0.5, 1.0, ... , 5.0 ระบบจะปัดเศษค่าเป็นทศนิยม 0.5 ที่ใกล้เคียงที่สุด เช่น ค่า 0.6 จะนําผลลัพธ์ทั้งหมดที่มีคะแนนน้อยกว่า 1.0 ออก
openNow
หากเป็น
true
ให้แสดงเฉพาะสถานที่ที่เปิดทําการ ณ เวลาที่มีการส่งการค้นหา หากเป็นfalse
ให้แสดงธุรกิจทั้งหมดโดยไม่คำนึงถึงสถานะเปิดทำการ ระบบจะแสดงผลสถานที่ที่ไม่ระบุเวลาทำการในฐานข้อมูล Google Places หากคุณตั้งค่าพารามิเตอร์นี้เป็นfalse
pageSize
ระบุจํานวนผลการค้นหา (ระหว่าง 1 ถึง 20) ที่จะแสดงต่อหน้า เช่น การตั้งค่า
pageSize
เป็น 5 จะแสดงผลลัพธ์สูงสุด 5 รายการในหน้าแรก หากมีผลการค้นหาเพิ่มเติมที่แสดงได้จากการค้นหา คำตอบจะมีnextPageToken
ที่คุณส่งไปยังคำขอถัดไปเพื่อเข้าถึงหน้าถัดไปได้pageToken
ระบุ
nextPageToken
จากเนื้อหาการตอบกลับของหน้าก่อนหน้า-
priceLevels
จำกัดการค้นหาไว้เฉพาะสถานที่ที่มีการทำเครื่องหมายไว้ที่ระดับราคาบางระดับ ค่าเริ่มต้นคือเลือกระดับราคาทั้งหมด
ระบุอาร์เรย์ของค่าอย่างน้อย 1 ค่าที่กําหนดโดย
PriceLevel
เช่น
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
ระบุวิธีจัดอันดับผลการค้นหาในการตอบกลับตามประเภทของคําค้นหา
- สําหรับคําค้นหาแบบหมวดหมู่ เช่น "ร้านอาหารในนิวยอร์กซิตี้"
RELEVANCE
(จัดอันดับผลการค้นหาตามความเกี่ยวข้องในการค้นหา) จะเป็นค่าเริ่มต้น คุณสามารถตั้งค่าrankPreference
เป็นRELEVANCE
หรือDISTANCE
(จัดอันดับผลลัพธ์ตามระยะทาง) - สําหรับการค้นหาที่ไม่ใช่หมวดหมู่ เช่น "Mountain View, CA" เราขอแนะนําให้ปล่อย
rankPreference
ว่างไว้
- สําหรับคําค้นหาแบบหมวดหมู่ เช่น "ร้านอาหารในนิวยอร์กซิตี้"
regionCode
รหัสภูมิภาคที่ใช้จัดรูปแบบการตอบกลับ ซึ่งระบุเป็นค่า รหัส CLDR 2 อักขระ พารามิเตอร์นี้ยังอาจมีผลต่อผลการค้นหาด้วย ไม่มีค่าเริ่มต้น
หากชื่อประเทศของช่อง
formattedAddress
ในคำตอบตรงกับregionCode
ระบบจะไม่ใส่รหัสประเทศในformattedAddress
พารามิเตอร์นี้ไม่มีผลกับadrFormatAddress
ซึ่งจะรวมชื่อประเทศเสมอเมื่อมี หรือกับshortFormattedAddress
ซึ่งจะไม่รวมชื่อประเทศรหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นบางประการ ตัวอย่างเช่น ccTLD ของสหราชอาณาจักรคือ "uk" (.co.uk) ส่วนรหัส ISO 3166-1 คือ "gb" (ในทางเทคนิคสำหรับนิติบุคคล "สหราชอาณาจักรบริเตนใหญ่และไอร์แลนด์เหนือ") พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง
strictTypeFiltering
ใช้กับพารามิเตอร์
includedType
เมื่อตั้งค่าเป็นtrue
ระบบจะแสดงเฉพาะสถานที่ที่ตรงกับประเภทที่ระบุโดยincludeType
เมื่อเป็นเท็จ คำตอบอาจมีตำแหน่งที่ไม่ตรงกับประเภทที่ระบุโดยค่าเริ่มต้น
ตัวอย่างการค้นหาข้อความ
ค้นหาสถานที่ตามสตริงการค้นหา
ตัวอย่างต่อไปนี้แสดงคำขอค้นหาข้อความสำหรับ "อาหารมังสวิรัติสไปซี่ในซิดนีย์ ออสเตรเลีย"
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
โปรดทราบว่าส่วนหัว X-Goog-FieldMask
ระบุว่าคำตอบมีช่องข้อมูล places.displayName,places.formattedAddress
จากนั้นคำตอบจะอยู่ในรูป
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, { "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Peace Harmony", "languageCode": "en" } }, ... ] }
เพิ่มประเภทข้อมูลในมาสก์ของช่องเพื่อแสดงข้อมูลเพิ่มเติม
ตัวอย่างเช่น เพิ่ม places.types,places.websiteUri
เพื่อรวมประเภทร้านอาหารและที่อยู่เว็บไว้ในคำตอบ
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri' \ 'https://places.googleapis.com/v1/places:searchText'
ตอนนี้คำตอบจะอยู่ในรูป
{ "places": [ { "types": [ "vegetarian_restaurant", "vegan_restaurant", "chinese_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "websiteUri": "http://www.motherchusvegetarian.com.au/", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "types": [ "vegan_restaurant", "thai_restaurant", "vegetarian_restaurant", "indian_restaurant", "italian_restaurant", "american_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "websiteUri": "http://www.veggosizzle.com.au/", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, ... ] }
กรองสถานที่ตามระดับราคา
ใช้ตัวเลือก priceLevel
เพื่อกรองผลลัพธ์ให้เหลือเฉพาะร้านอาหารที่ถือว่าราคาไม่แพงหรือราคาปานกลาง
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"] }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
ตัวอย่างนี้ยังใช้ส่วนหัว X-Goog-FieldMask
เพื่อเพิ่มช่องข้อมูล places.priceLevel
ลงใน response ด้วย ดังนั้นจึงอยู่ในรูปแบบ
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "115 King St, Newtown NSW 2042, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Green Mushroom", "languageCode": "en" } }, ... ] }
เพิ่มตัวเลือกเพิ่มเติมเพื่อปรับแต่งการค้นหา เช่น includedType
,
minRating
, rankPreference
, openNow
และพารามิเตอร์อื่นๆ ที่อธิบายไว้ในพารามิเตอร์ที่ไม่บังคับ
ค้นหาสถานที่ในพื้นที่
ใช้ locationRestriction
หรือ locationBias
แต่อย่าใช้ทั้ง 2 อย่างเพื่อจำกัดการค้นหาไว้ในพื้นที่หนึ่งๆ ให้คิดว่า locationRestriction
เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และ locationBias
เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ใกล้ๆ แต่อยู่นอกพื้นที่ก็ได้
ตัวอย่างต่อไปนี้แสดงคำขอการค้นหาข้อความสำหรับ "อาหารมังสวิรัติรสเผ็ด" โดยให้น้ำหนักกับสถานที่ที่อยู่ภายใน 500 เมตรจากจุดหนึ่งๆ ในตัวเมืองซานฟรานซิสโก คำขอนี้จะแสดงเฉพาะผลลัพธ์ 10 รายการแรกสำหรับ สถานที่ที่เปิดให้บริการอยู่
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "openNow": true, "pageSize": 10, "locationBias": { "circle": { "center": {"latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } }, }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
ค้นหาที่ชาร์จ EV ที่มีอัตราค่าบริการชาร์จขั้นต่ำ
ใช้ minimumChargingRateKw
และ connectorTypes
เพื่อค้นหาสถานที่ที่มีที่ชาร์จซึ่งเข้ากันได้กับ EV ของคุณ
ตัวอย่างต่อไปนี้แสดงคำขอสำหรับหัวชาร์จ EV ประเภท 1 ของ Tesla และ J1772 ที่มีอัตราการชาร์จขั้นต่ำ 10 kW ในเมาน์เทนวิว รัฐแคลิฟอร์เนีย ระบบจะแสดงผลลัพธ์เพียง 4 รายการเท่านั้น
curl -X POST -d '{ "textQuery": "EV Charging Station Mountain View", "pageSize": 4, "evOptions": { "minimumChargingRateKw": 10, "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"] } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \ 'https://places.googleapis.com/v1/places:searchText'
คำขอแสดงผลลัพธ์ต่อไปนี้
{ "places": [ { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 16, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 100, "count": 8, "availableCount": 5, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 2, "availableCount": 2, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 6, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 6, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 4, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 2, "availableCount": 0, "outOfServiceCount": 2, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 5, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_J1772", "maxChargeRateKw": 3.5999999046325684, "count": 1, "availableCount": 0, "outOfServiceCount": 1, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "Electric Vehicle Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 10, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_OTHER", "maxChargeRateKw": 210, "count": 10 } ] } } ] }
ค้นหาธุรกิจที่ให้บริการตามสถานที่
ใช้พารามิเตอร์ includePureServiceAreaBusinesses
เพื่อค้นหาธุรกิจที่ไม่มีที่อยู่สำหรับรับบริการ (เช่น บริการทำความสะอาดแบบเคลื่อนที่หรือรถขายอาหาร)
ตัวอย่างต่อไปนี้แสดงคำขอช่างประปาในซานฟรานซิสโก
curl -X POST -d '{ "textQuery" : "plumber San Francisco", "includePureServiceAreaBusinesses": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
ในการตอบกลับ ธุรกิจที่ไม่มีที่อยู่สำหรับรับบริการจริงจะไม่รวมช่อง formattedAddress
ดังนี้
{ "places": [ { "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA", "displayName": { "text": "Advanced Plumbing & Drain", "languageCode": "en" } }, { "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Magic Plumbing Heating & Cooling", "languageCode": "en" } }, /.../ { "displayName": { "text": "Starboy Plumbing Inc.", "languageCode": "en" } }, { "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Cabrillo Plumbing, Heating & Air", "languageCode": "en" } }, { "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA", "displayName": { "text": "Mr. Rooter Plumbing of San Francisco", "languageCode": "en" } }, /.../ { "displayName": { "text": "Pipeline Plumbing", "languageCode": "en" } }, { "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA", "displayName": { "text": "One Source Plumbing and Rooter", "languageCode": "en" } }, /.../ ] }
ระบุจำนวนผลลัพธ์ที่จะแสดงต่อหน้า
ใช้พารามิเตอร์ pageSize
เพื่อระบุจํานวนผลการค้นหาที่จะแสดงต่อหน้า พารามิเตอร์ nextPageToken
ในเนื้อหาการตอบกลับจะให้โทเค็นที่สามารถใช้ในการเรียกใช้ครั้งต่อๆ ไปเพื่อเข้าถึงหน้าถัดไปของผลการค้นหา
ตัวอย่างต่อไปนี้แสดงคำขอ "พิซซ่าในนิวยอร์ก" ซึ่งจำกัดผลการค้นหาไว้ที่ 5 รายการต่อหน้า
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5 }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJifIePKtZwokRVZ-UdRGkZzs" }, { "id": "ChIJPxPd_P1YwokRfzLhSiACEoU" }, { "id": "ChIJrXXKn5NZwokR78g0ipCnY60" }, { "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE" }, { "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw" } ], "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }
หากต้องการเข้าถึงผลการค้นหาหน้าถัดไป ให้ใช้ pageToken
เพื่อส่งผ่าน nextPageToken
ในเนื้อหาคำขอ
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5, "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw" }, { "id": "ChIJjaD94kFZwokR-20CXqlpy_4" }, { "id": "ChIJ6ffdpJNZwokRmcafdROM5q0" }, { "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM" }, { "id": "ChIJ8164qwFZwokRhplkmhvq1uE" } ], "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c" }
ลองใช้งาน
โปรแกรมสำรวจ API ช่วยให้คุณส่งคําขอตัวอย่างได้เพื่อให้คุ้นเคยกับ API และตัวเลือก API
เลือกไอคอน API ทางด้านขวาของหน้า
(ไม่บังคับ) ขยายแสดงพารามิเตอร์มาตรฐาน และตั้งค่าพารามิเตอร์
fields
เป็นฟิลด์มาสก์แก้ไขเนื้อหาคําขอ (ไม่บังคับ)
เลือกปุ่มดำเนินการ ในกล่องโต้ตอบแบบป๊อปอัป ให้เลือกบัญชีที่ต้องการใช้ส่งคําขอ
ในแผง API Explorer ให้เลือกไอคอนขยาย เพื่อขยายหน้าต่าง API Explorer