การค้นหาข้อความ (ใหม่) จะแสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้กับออตตาวา" หรือ "123 Main Street" บริการจะตอบกลับด้วยรายการสถานที่ที่ตรงกับสตริงข้อความและค่ากำหนดสถานที่ตั้งที่ตั้งไว้
บริการนี้มีประโยชน์อย่างยิ่งสำหรับการการค้นหาที่อยู่ที่ไม่ชัดเจนในระบบอัตโนมัติ และองค์ประกอบที่ไม่ใช่ที่อยู่ของสตริงอาจจับคู่กับธุรกิจและที่อยู่ได้ ตัวอย่างคำค้นหาที่อยู่ที่ไม่ชัดเจน ได้แก่ ที่อยู่หรือคำขอที่มีการจัดรูปแบบไม่ดีและมีองค์ประกอบที่ไม่ใช่ที่อยู่ เช่น ชื่อธุรกิจ คำขออย่างเช่นตัวอย่าง 2 รายการแรกในตารางต่อไปนี้อาจแสดงผลลัพธ์เป็น 0 เว้นแต่จะมีการตั้งค่าสถานที่ เช่น ภูมิภาค ข้อจำกัดด้านสถานที่ หรือความลำเอียงด้านสถานที่
"10 High Street, UK" หรือ "123 Main Street, US" | "High Street" หลายแห่งในสหราชอาณาจักร "Main Street" หลายแห่งในสหรัฐอเมริกา การค้นหาไม่แสดงผลลัพธ์ที่ต้องการ เว้นแต่จะมีการตั้งค่าข้อจำกัดตำแหน่ง |
"ChainRestaurant New York" | สถานที่ตั้ง "ChainRestaurant" หลายแห่งในนิวยอร์ก ไม่มีที่อยู่หรือแม้แต่ชื่อถนน |
"10 High Street, Escher UK" หรือ "123 Main Street, Pleasanton US" | มี "High Street" เพียงถนนเดียวในเมือง Escher ของสหราชอาณาจักร และ "Main Street" เพียงถนนเดียวในเมือง Pleasanton รัฐแคลิฟอร์เนียของสหรัฐอเมริกา |
"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.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
,places.pureServiceAreaBusiness
,places.shortFormattedAddress
,places.subDestinations
,places.types
,places.utcOffsetMinutes
,places.viewport
* ช่องplaces.googleMapsLinks
อยู่ในช่วงก่อน GA Preview และไม่มีการเรียกเก็บเงิน ซึ่งหมายความว่าการเรียกเก็บเงินจะเป็น $0 สำหรับการใช้งานในช่วงทดลองใช้ฟิลด์ต่อไปนี้จะทริกเกอร์ 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.parkingOptions
,places.paymentOptions
,places.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
ระบบจะแสดงเฉพาะธุรกิจที่มีสถานที่ตั้งจริง 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 องศา
- หาก
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
เพียงรายการใดรายการหนึ่ง ให้คิดว่า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 kW ให้ตั้งค่าพารามิเตอร์นี้เป็น "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
เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ใกล้ๆ แต่อยู่นอกพื้นที่ก็ได้
จำกัดพื้นที่โดยใช้ locationRestriction
ใช้พารามิเตอร์ locationRestriction
เพื่อจํากัดผลการค้นหาให้แสดงเฉพาะภูมิภาคที่ระบุ ในเนื้อหาคำขอ ให้ระบุค่าละติจูดและลองจิจูด low
และ high
ที่กําหนดขอบเขตภูมิภาค
ตัวอย่างต่อไปนี้แสดงคำขอการค้นหาข้อความสำหรับ "อาหารมังสวิรัติ" ในนิวยอร์กซิตี้ คำขอนี้จะแสดงเฉพาะผลลัพธ์ 10 รายการแรกสำหรับสถานที่ที่เปิดอยู่
curl -X POST -d '{ "textQuery" : "vegetarian food", "pageSize" : "10", "locationRestriction": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
กำหนดพื้นที่เป้าหมายโดยใช้ locationBias
ตัวอย่างต่อไปนี้แสดงคำขอการค้นหาข้อความสำหรับ "อาหารมังสวิรัติ" โดยเน้นสถานที่ตั้งในระยะ 500 เมตรจากจุดหนึ่งๆ ในตัวเมืองซานฟรานซิสโก คำขอนี้จะแสดงเฉพาะผลลัพธ์ 10 รายการแรกสำหรับสถานที่ที่เปิดอยู่
curl -X POST -d '{ "textQuery" : "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 ให้เลือกไอคอนขยาย เพื่อขยายหน้าต่างโปรแกรมสำรวจ API