บทนำ
การค้นหาข้อความ (ใหม่) แสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง (เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้ออตตาวา" หรือ "123 ถนนเมน") บริการจะตอบกลับด้วยรายการสถานที่ที่ตรงกับสตริงข้อความและค่าความเอนเอียงของตำแหน่ง ที่ตั้งไว้
นอกเหนือจากพารามิเตอร์ที่จำเป็นแล้ว การค้นหาข้อความ (ใหม่) ยังรองรับการปรับแต่งคำค้นหาโดยใช้พารามิเตอร์ที่ไม่บังคับเพื่อให้ได้ผลลัพธ์ที่ดีขึ้น
โปรแกรมสำรวจ 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 ช่อง
ฟิลด์ต่อไปนี้จะทริกเกอร์ Text Search Essentials ID Only SKU
places.attributions
places.id
places.name
*
nextPageToken
* ฟิลด์
places.name
มีชื่อทรัพยากรของสถานที่ ในรูปแบบplaces/PLACE_ID
ใช้places.displayName
ใน SKU Pro เพื่อเข้าถึงชื่อข้อความของสถานที่ฟิลด์ต่อไปนี้จะทริกเกอร์ Text Search Pro SKU
places.accessibilityOptions
places.addressComponents
places.addressDescriptor
*
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.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* โดยทั่วไปแล้ว ตัวอธิบายที่อยู่จะมีให้บริการแก่ลูกค้าในอินเดีย และเป็นเวอร์ชันทดลองในประเทศอื่นๆ
** ฟิลด์places.googleMapsLinks
อยู่ในระยะตัวอย่างก่อน GA และไม่มีค่าใช้จ่าย ซึ่งหมายความว่าการเรียกเก็บเงินจะเป็น $0 สำหรับการใช้งานในระหว่างช่วงตัวอย่างฟิลด์ต่อไปนี้จะทริกเกอร์ SKU ของ Text Search Enterprise
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
ฟิลด์ต่อไปนี้จะทริกเกอร์ Text Search Enterprise + Atmosphere SKU
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeAmenitySummary
places.evChargeOptions
places.fuelOptions
places.generativeSummary
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.neighborhoodSummary
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.reviewSummary
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
สตริงข้อความที่จะค้นหา เช่น "ร้านอาหาร" "123 ถนนเมน" หรือ "สถานที่ที่ดีที่สุดในการเยี่ยมชมในซานฟรานซิสโก" API จะแสดงรายการที่ตรงกัน ตามสตริงนี้และจัดลำดับผลลัพธ์ตามความเกี่ยวข้องที่ระบบรับรู้
พารามิเตอร์ที่ไม่บังคับ
includedType
เอนเอียงผลการค้นหาไปยังสถานที่ที่ตรงกับประเภทที่ระบุซึ่งกำหนดโดยตาราง ก ระบุได้เพียงประเภทเดียว เช่น
"includedType":"bar"
"includedType":"pharmacy"
การค้นหาด้วยข้อความ (ใหม่) จะใช้การกรองประเภทสำหรับคำค้นหาบางคำ ทั้งนี้ขึ้นอยู่กับความเหมาะสม เช่น การกรองประเภทอาจไม่มีผลกับคำค้นหาสำหรับที่อยู่เฉพาะ ("123 Main Street") แต่การกรองประเภทจะมีผลกับคำค้นหาตามหมวดหมู่ ("ร้านค้าใกล้เคียง" หรือ "ห้างสรรพสินค้า") เกือบทุกครั้ง
หากต้องการใช้การกรองประเภทกับคำค้นหาทั้งหมด ให้ตั้งค่า
strictTypeFiltering
เป็นtrue
-
includePureServiceAreaBusinesses
หากตั้งค่าเป็น
true
คำตอบจะรวมธุรกิจที่ไปหา หรือให้บริการแก่ลูกค้าโดยตรง แต่ไม่มีสถานที่ตั้งธุรกิจจริง หากตั้งค่าเป็นfalse
API จะแสดงเฉพาะธุรกิจที่มี สถานที่ตั้งจริงของธุรกิจ languageCode
ภาษาที่จะแสดงผลลัพธ์
- ดู รายการภาษาที่รองรับ Google มักจะอัปเดตภาษาที่รองรับอยู่เสมอ ดังนั้นรายการนี้อาจไม่ครอบคลุมทั้งหมด
-
หากไม่ได้ระบุ
languageCode
API จะใช้en
เป็นค่าเริ่มต้น หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะ แสดงข้อผิดพลาดINVALID_ARGUMENT
- API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่แบบถนนที่อ่านได้สำหรับทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมายดังกล่าว ระบบจะแสดงที่อยู่ ในภาษาท้องถิ่น โดยแปลงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น ตามภาษาที่ต้องการ ระบบจะแสดงที่อยู่อื่นๆ ทั้งหมด ในภาษาที่ต้องการ คอมโพเนนต์ของที่อยู่ ทั้งหมดจะแสดงในภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
- หากชื่อไม่มีให้บริการในภาษาที่ต้องการ API จะใช้ชื่อที่ ใกล้เคียงที่สุด
- ภาษาที่ต้องการมีผลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผล และลำดับที่แสดงผล Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อของประเภทถนน หรือคำพ้องความหมายที่อาจ ใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง
locationBias
ระบุพื้นที่ที่จะค้นหา ตำแหน่งนี้ทำหน้าที่เป็นอคติ ซึ่งหมายความว่า ระบบจะแสดงผลการค้นหาที่อยู่รอบๆ ตำแหน่งที่ระบุ รวมถึงผลการค้นหา ที่อยู่นอกพื้นที่ที่ระบุ
คุณระบุ
locationRestriction
หรือlocationBias
ได้ แต่จะระบุทั้ง 2 อย่างไม่ได้ คิดว่า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
ช่วงละติจูดจะว่าง
ต้องระบุทั้งค่าต่ำสุดและค่าสูงสุด และช่องที่แสดงต้องไม่ว่าง เปล่า โดยช่องแสดงผลที่ว่างเปล่าจะทำให้เกิดข้อผิดพลาด
ตัวอย่างเช่น Viewport นี้ครอบคลุมนิวยอร์กซิตี้ทั้งหมด
"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 ใน จีน) และที่ชาร์จแบบเต้ารับติดผนัง ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบ อ้างอิง
- หากต้องการกรองผลลัพธ์สำหรับเครื่องมือเชื่อมต่อที่รองรับที่เฉพาะเจาะจง ให้ตั้งค่า
connectorTypes
เป็นค่านั้น เช่น หากต้องการค้นหาขั้วต่อประเภท 1 ของ J1772 ให้ตั้งค่าconnectorTypes
เป็นEV_CONNECTOR_TYPE_J1772
- หากต้องการกรองผลลัพธ์สำหรับตัวเชื่อมต่อที่ไม่รองรับ ให้ตั้งค่า
connectorTypes
เป็นEV_CONNECTOR_TYPE_OTHER
- หากต้องการกรองผลลัพธ์สำหรับขั้วต่อประเภทใดก็ตามที่เป็นเต้ารับ ให้ตั้งค่า
connectorTypes
เป็นEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET
- หากต้องการกรองผลลัพธ์สำหรับตัวเชื่อมต่อประเภทใดก็ตาม ให้ตั้งค่า
connectorTypes
เป็นEV_CONNECTOR_TYPE_UNSPECIFIED
หรือไม่ต้องตั้งค่าสำหรับconnectorTypes
- หากต้องการกรองผลลัพธ์สำหรับเครื่องมือเชื่อมต่อที่รองรับที่เฉพาะเจาะจง ให้ตั้งค่า
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
จำกัดการค้นหาเฉพาะสถานที่ที่มีการทำเครื่องหมายในระดับราคาที่กำหนด ค่าเริ่มต้นคือการเลือกระดับราคาทั้งหมด
ระดับราคาที่คาดการณ์ได้สำหรับสถานที่ประเภทต่อไปนี้
สถานที่ประเภทที่ไม่รองรับจะไม่รวมอยู่ในคำตอบหากมีการระบุ
priceLevels
ระบุอาร์เรย์ของค่าอย่างน้อย 1 ค่าที่กำหนดโดย
PriceLevel
เช่น
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
ระบุวิธีจัดอันดับผลลัพธ์ในการตอบกลับตามประเภทของคำค้นหา ดังนี้
- สำหรับคำค้นหาตามหมวดหมู่ เช่น "ร้านอาหารในนิวยอร์ก"
RELEVANCE
(จัดอันดับผลลัพธ์ตามความเกี่ยวข้องกับการค้นหา) จะเป็นค่าเริ่มต้น คุณตั้งค่าrankPreference
เป็นRELEVANCE
หรือDISTANCE
(จัดอันดับผลลัพธ์ตามระยะทาง) ได้ - สำหรับคำค้นหาที่ไม่ใช่หมวดหมู่ เช่น "เมาน์เทนวิว แคลิฟอร์เนีย" เราขอแนะนำ
ให้คุณปล่อย
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
ลงใน
การตอบกลับ
เพื่อให้มีรูปแบบดังนี้
{ "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 กิโลวัตต์ในเมาน์เทนวิว แคลิฟอร์เนีย ระบบจะแสดงผลลัพธ์เพียง 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" }
รับตัวอธิบายที่อยู่
ข้อบ่งชี้ที่อยู่จะให้ข้อมูลเชิงสัมพันธ์เกี่ยวกับตำแหน่งของสถานที่ รวมถึงจุดสังเกตใกล้เคียงและพื้นที่ที่อยู่
ตัวอย่างต่อไปนี้แสดงคำขอการค้นหาข้อความ (ใหม่) สำหรับสถานที่ใกล้กับห้างสรรพสินค้าในซันโฮเซ ในตัวอย่างนี้ คุณจะใส่ addressDescriptors
ในฟิลด์
mask ดังนี้
curl -X POST -d '{ "textQuery": "clothes", "maxResultCount": 5, "locationBias": { "circle": { "center": { "latitude": 37.321328, "longitude": -121.946275 } } }, "rankPreference":"RANK_PREFERENCE_UNSPECIFIED" }' \ -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \ https://places.googleapis.com/v1/places:searchText
คำตอบประกอบด้วยสถานที่ที่ระบุในคำขอ รายการสถานที่สำคัญใกล้เคียง และระยะทางจากสถานที่นั้น รวมถึงรายการพื้นที่และความสัมพันธ์ ในการบรรจุสถานที่นั้น
{ "places": [ { "displayName": { "text": "Urban Outfitters", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 133.72855 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 250.99161 }, { "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "placeId": "ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "store" ], "straightLineDistanceMeters": 116.24196 }, { "name": "places/ChIJ9d3plB_Lj4ARzyaU5bn80WY", "placeId": "ChIJ9d3plB_Lj4ARzyaU5bn80WY", "displayName": { "text": "Bank of America Financial Center", "languageCode": "en" }, "types": [ "bank", "establishment", "finance", "point_of_interest" ], "straightLineDistanceMeters": 121.61515 }, { "name": "places/ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "placeId": "ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "displayName": { "text": "Bloomingdale's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "furniture_store", "home_goods_store", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 81.32396 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }, /.../ ] }
ลองใช้งาน
โปรแกรมสำรวจ API ช่วยให้คุณส่งคำขอตัวอย่างได้ เพื่อให้คุ้นเคยกับ API และตัวเลือก API
เลือกไอคอน API api ทางด้านขวาของหน้า
แก้ไขพารามิเตอร์คำขอ (ไม่บังคับ)
เลือกปุ่มดำเนินการ ในกล่องโต้ตอบ ให้เลือกบัญชี ที่ต้องการใช้เพื่อส่งคำขอ
ในแผงโปรแกรมสำรวจ API ให้เลือกไอคอนเต็มหน้าจอ fullscreen เพื่อขยายหน้าต่างโปรแกรมสำรวจ API