การค้นหาข้อความ (ใหม่) จะแสดงผลข้อมูลเกี่ยวกับกลุ่มสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้เมืองออตตาวา" หรือ "123 Main Street" บริการจะตอบกลับด้วยรายการสถานที่ที่ตรงกับสตริงข้อความและอคติของตำแหน่งใดๆ ที่ตั้งค่าไว้
บริการนี้จะเป็นประโยชน์อย่างยิ่งสำหรับการทำการค้นหาที่อยู่ที่กำกวมในระบบอัตโนมัติ และองค์ประกอบที่ไม่มีที่อยู่ของสตริงอาจตรงกับธุรกิจและที่อยู่ ตัวอย่างของการค้นหาที่อยู่ที่ไม่ชัดเจนคือที่อยู่หรือคำขอที่มีรูปแบบไม่ถูกต้องซึ่งมีองค์ประกอบที่ไม่ได้ระบุ เช่น ชื่อธุรกิจ คำขออย่างเช่น 2 ตัวอย่างแรกในตารางต่อไปนี้อาจแสดงผลลัพธ์เป็น 0 เว้นแต่ว่ามีการตั้งค่าตำแหน่ง เช่น ภูมิภาค การจำกัดสถานที่ หรือความลำเอียงของสถานที่
"10 High Street, UK" หรือ "123 Main Street, US" | "ถนน" หลายแห่งในสหราชอาณาจักร; หลายตำแหน่ง "ถนนหลัก" ในสหรัฐอเมริกา การค้นหาไม่แสดงผลลัพธ์ที่ต้องการ เว้นแต่จะตั้งค่าการจำกัดตำแหน่งไว้ |
"ร้านอาหารสาขานิวยอร์ก" | มีร้าน "ChainRestaurant" หลายแห่งในนิวยอร์ก ไม่มีที่อยู่หรือแม้แต่ชื่อถนน |
"10 High Street, Escher UK" หรือ "123 Main Street, Pleasanton US" | "ถนน" เพียงแห่งเดียวในเมืองเอชเชอร์ของสหราชอาณาจักร และมีเพียง "ถนนหลัก" เพียงแห่งเดียวในเมืองพลีซานตันของรัฐแคลิฟอร์เนียในสหรัฐอเมริกา |
"UniqueRestaurantName นิวยอร์ก" | มีเพียงสถานประกอบการที่มีชื่อนี้ในนิวยอร์กเท่านั้น ไม่จำเป็นต้องมีที่อยู่เพื่อแยกความแตกต่าง |
"ร้านพิซซ่าในหัวหิน" | การค้นหานี้มีข้อจำกัดตำแหน่ง และ "ร้านพิซซ่า" เป็นประเภทสถานที่ที่กำหนดไว้เป็นอย่างดี โดยแสดงผลลัพธ์หลายรายการ |
+1 514-670-8700" | ข้อความค้นหานี้มีหมายเลขโทรศัพท์ โดยจะแสดงผลการค้นหาหลายรายการสำหรับสถานที่ที่เชื่อมโยงกับหมายเลขโทรศัพท์นั้น |
API Explorer ช่วยให้คุณสามารถสร้างคำขอแบบเรียลไทม์เพื่อทำความคุ้นเคยกับ 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.id
,places.name
*
* ช่องplaces.name
มีชื่อทรัพยากรของสถานที่อยู่ในแบบฟอร์ม:places/PLACE_ID
ใช้places.displayName
เพื่อเข้าถึงชื่อข้อความของสถานที่ช่องต่อไปนี้จะเรียก SKU การค้นหาข้อความ (พื้นฐาน)
places.accessibilityOptions
,places.addressComponents
,places.adrFormatAddress
,places.businessStatus
,places.displayName
,places.formattedAddress
,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.location
,places.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
,places.shortFormattedAddress
,places.subDestinations
,places.types
,places.utcOffsetMinutes
,places.viewport
ช่องต่อไปนี้จะเรียก SKU การค้นหาข้อความ (ขั้นสูง)
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
ช่องต่อไปนี้จะเรียก SKU การค้นหาข้อความ (ที่ต้องการ)
<br-ph - "ph - 2 - x" <br - 2 <br - "1 x x 2 x 2"><br - " TH <br - " <br - " ">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.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDesserts
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
-
textQuery
สตริงข้อความที่จะค้นหา เช่น "ร้านอาหาร" "123 ถนนสุขุมวิท" หรือ "สถานที่ที่น่าไปที่สุดในกรุงเทพ" API จะแสดงผลการจับคู่ตัวเลือกที่ตรงกันตามสตริงนี้และเรียงลำดับผลลัพธ์ตามความเกี่ยวข้องที่รับรู้ได้
พารามิเตอร์ที่ไม่บังคับ
includedType
จำกัดผลลัพธ์ให้แสดงแต่ตำแหน่งที่ตรงกับประเภทที่ระบุซึ่งกำหนดโดยตาราง ก ระบุได้เพียงประเภทเดียว เช่น
"includedType":"bar"
"includedType":"pharmacy"
languageCode
ภาษาของผลการค้นหา
- ดูรายการภาษาที่รองรับ Google จะอัปเดตภาษาที่รองรับเป็นประจำ ดังนั้นรายการนี้จึงอาจไม่ครอบคลุมทั้งหมด
-
หากไม่ได้ให้
languageCode
ค่าเริ่มต้นของ API จะเป็นen
หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะแสดงข้อผิดพลาดINVALID_ARGUMENT
- API จะพยายามอย่างเต็มที่เพื่อระบุที่อยู่ที่ทั้งผู้ใช้และคนในพื้นที่อ่านได้ เพื่อให้บรรลุเป้าหมายดังกล่าว เครื่องมือจะแสดงที่อยู่ในภาษาท้องถิ่นที่ทับศัพท์เป็นสคริปต์ที่ผู้ใช้สามารถอ่านได้หากจำเป็น โดยสังเกตภาษาที่ต้องการใช้ แต่อีเมลอื่นๆ ทั้งหมดจะแสดงผลในภาษาที่ต้องการ คอมโพเนนต์ที่อยู่ทั้งหมดจะแสดงเป็นภาษาเดียวกัน ซึ่งจะเลือกจากคอมโพเนนต์แรก
- หากไม่มีชื่อในภาษาที่ต้องการ API จะใช้ชื่อที่ตรงกันที่ใกล้เคียงที่สุด
- ภาษาที่ต้องการมีอิทธิพลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผล และลำดับการแสดงผล โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อของประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ไม่ถูกต้องในอีกภาษาหนึ่ง
locationBias
ระบุพื้นที่ที่จะค้นหา ตำแหน่งนี้ทำหน้าที่เป็นการให้น้ำหนักพิเศษซึ่งจะทำให้แสดงผลลัพธ์ที่อยู่รอบๆ ตำแหน่งที่ระบุได้ รวมถึงผลลัพธ์ที่อยู่นอกพื้นที่ที่ระบุ
คุณระบุ
locationRestriction
หรือlocationBias
ได้แต่จะระบุทั้ง 2 อย่างไม่ได้ ให้คิดว่าlocationRestriction
เป็นการระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ และlocationBias
เป็นการระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ใกล้ แต่อยู่นอกพื้นที่ได้ระบุภูมิภาคเป็นวิวพอร์ตสี่เหลี่ยมผืนผ้าหรือเป็นวงกลม
วงกลมจะกำหนดโดยจุดศูนย์กลางและรัศมีเป็นเมตร รัศมีต้องอยู่ระหว่าง 0.0 ถึง 50, 000.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
ได้แต่จะระบุทั้ง 2 อย่างไม่ได้ ให้คิดว่าlocationRestriction
เป็นการระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ และlocationBias
เป็นการระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ใกล้ แต่อยู่นอกพื้นที่ได้-
maxResultCount
ระบุจำนวนผลการค้นหาสถานที่สูงสุดที่จะแสดง ต้องอยู่ระหว่าง 1 ถึง 20 (ค่าเริ่มต้น)
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
-
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
ใช้กับพารามิเตอร์
includeType
เมื่อตั้งค่าเป็น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
เป็นการระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ใกล้ แต่อยู่นอกพื้นที่ได้
ตัวอย่างต่อไปนี้แสดงคำขอค้นหาข้อความสำหรับ "อาหารมังสวิรัติรสจัด" โดยลำเอียงที่จะอยู่ภายในระยะ 500 เมตรจากจุดในเมืองซานฟรานซิสโก คำขอนี้จะแสดงผลลัพธ์ 10 รายการแรก สำหรับสถานที่ที่เปิดทำการเท่านั้น
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "openNow": true, "maxResultCount": 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 ของคุณ
ตัวอย่างต่อไปนี้แสดงคำขอสำหรับการเชื่อมต่อการชาร์จ Tesla และ J1772 ประเภท 1 EV ที่มีอัตราการชาร์จขั้นต่ำ 10 กิโลวัตต์ใน Mountain View, CA ระบบจะแสดงผลลัพธ์เพียง 4 รายการเท่านั้น
curl -X POST -d '{ "textQuery": "EV Charging Station Mountain View", "maxResultCount": 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 } ] } } ] }
ลองใช้เลย
โปรแกรมสำรวจ API ให้คุณสร้างคำขอตัวอย่างเพื่อทำความคุ้นเคยกับ API และตัวเลือก API
เลือกไอคอน API ทางด้านขวาของหน้า
(ไม่บังคับ) ขยายแสดงพารามิเตอร์มาตรฐาน และตั้งค่าพารามิเตอร์
fields
เป็นฟิลด์มาสก์(ไม่บังคับ) แก้ไขเนื้อหาคำขอ
เลือกปุ่มดำเนินการ ในกล่องโต้ตอบป๊อปอัป ให้เลือก บัญชีที่คุณต้องการใช้ส่งคำขอ
ในแผง API Explorer ให้เลือกไอคอนขยาย เพื่อขยายหน้าต่าง API Explorer