ค้นหาข้อความ (ใหม่)

เลือกแพลตฟอร์ม Android iOS JavaScript บริการผ่านเว็บ

การค้นหาข้อความ (ใหม่) จะแสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง ตัวอย่างเช่น "พิซซ่าในกรุงเทพ" หรือ "ร้านรองเท้าใกล้อตตาวา" หรือ "123 Main Street" ตอบสนองด้วยรายการสถานที่ที่ตรงกับสตริงข้อความและตำแหน่งที่ตั้งใดๆ อคติที่เกิดขึ้น

บริการมีประโยชน์อย่างยิ่งในการทำให้ การค้นหาที่อยู่ที่ไม่ชัดเจน ในระบบอัตโนมัติ และคอมโพเนนต์ที่ไม่ใช่ที่อยู่ของสตริงอาจตรง ธุรกิจต่างๆ รวมทั้งที่อยู่ ตัวอย่างของการค้นหาที่อยู่ที่ไม่ชัดเจน ได้แก่ ที่อยู่หรือคำขอที่มีรูปแบบไม่ดีซึ่งมีองค์ประกอบที่ไม่มีที่อยู่ เช่น เป็นชื่อธุรกิจ คำขอเหมือนกับ 2 ตัวอย่างแรกในตารางต่อไปนี้ อาจแสดงผลลัพธ์เป็นศูนย์ยกเว้นตำแหน่ง เช่น ภูมิภาค ตำแหน่งที่ตั้ง มีการตั้งค่าการจำกัด หรือการให้น้ำหนักพิเศษกับตำแหน่งไว้

"10 ถนนวิทยุ เขตปทุมวัน กรุงเทพฯ" หรือ "123 Main Street, US" "High Street" หลายแห่งในสหราชอาณาจักร "ถนนหลัก" หลายแห่งในสหรัฐอเมริกา การค้นหาไม่แสดงผลการค้นหาที่ต้องการ เว้นแต่จะมีข้อจำกัดเกี่ยวกับตำแหน่ง ตั้งค่า
"แฟรนไชส์ร้านอาหารนิวยอร์ก" "ร้านอาหารแฟรนไชส์" หลายร้าน สถานที่ตั้งในนิวยอร์ก ไม่มีที่อยู่ หรือ แม้แต่ชื่อถนน
"10 High Street, Escher UK" หรือ "123 Main Street, Pleasanton US" "High Street" เพียงรายการเดียว ในเมืองเอเชอร์ของสหราชอาณาจักร "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 หรือใช้ส่วนหัว HTTP X-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.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 การค้นหาข้อความ (ที่ต้องการ)

      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.servesDessert, 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 ถึง 50000.0 รัศมีเริ่มต้นคือ 0.0 เช่น

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • สี่เหลี่ยมผืนผ้าคือวิวพอร์ตละติจูด-ลองจิจูด ซึ่งแสดงเป็น อยู่ในแนวทแยงมุมตรงข้ามจุดต่ำและสูง จุดต่ำทำเครื่องหมายอยู่ทางตะวันตกเฉียงใต้ มุมของสี่เหลี่ยมผืนผ้า และจุดสูงแสดงถึงทิศตะวันออกเฉียงเหนือ ของสี่เหลี่ยมผืนผ้า

      วิวพอร์ตถือว่าเป็น บริเวณที่ถูกปิด ซึ่งหมายความว่ามีอาณาเขตรวมอยู่ด้วย ขอบเขตของละติจูด ต้องอยู่ระหว่าง -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) ที่จะแสดงในหนึ่งหน้า เช่น การตั้งค่า maxResultCount เป็น 5 จะแสดงผลเป็น 5 ในหน้าแรก ถ้ามีผลลัพธ์เพิ่มเติมที่สามารถส่งคืนได้ จากข้อความค้นหา คำตอบจะรวม nextPageToken ที่คุณ สามารถส่งผ่านไปยังคำขอที่ตามมาเพื่อเข้าถึงหน้าถัดไป

  • evOptions

    ระบุพารามิเตอร์สำหรับระบุรถยนต์ไฟฟ้า (EV) ที่ใช้ได้ ขั้วต่อการชาร์จและอัตราการชาร์จ

    • connectorTypes

      กรองตามประเภทหัวชาร์จ EV ที่มีในสถานที่ ต สถานที่ที่ไม่สนับสนุนประเภทเครื่องมือเชื่อมต่อจะถูกกรอง ประเภทหัวชาร์จ EV ที่รองรับรวมประเภทหัวชาร์จไฟฟ้า (AC และ DC) ที่ชาร์จ, ที่ชาร์จ Tesla, ที่ชาร์จที่รองรับ GB/T (สำหรับการชาร์จ EV เร็วใน จีน) และที่ชาร์จของเต้ารับติดผนัง สำหรับข้อมูลเพิ่มเติม โปรดดูข้อมูลอ้างอิง เอกสารประกอบ

    • minimumChargingRateKw

      กรองสถานที่ตามอัตราการชาร์จ EV ขั้นต่ำเป็นกิโลวัตต์ (กิโลวัตต์) ช่วง สถานที่ที่มีอัตราการชาร์จต่ำกว่าอัตราการชาร์จขั้นต่ำ ถูกกรองออก เช่น หากต้องการค้นหาที่ชาร์จ 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 สถานที่ แสดงผลหากคุณตั้งค่าพารามิเตอร์นี้เป็น 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 ในฟิลด์ข้อมูล คำตอบ เพื่อให้อยู่ในรูปแบบ:

{
  "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 ของคุณ

ตัวอย่างต่อไปนี้แสดงคำขอการชาร์จ Tesla และ J1772 ประเภท 1 EV หัวชาร์จไฟฟ้าที่มีอัตราการชาร์จขั้นต่ำ 10 กิโลวัตต์ใน Mountain View, CA เพียง 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
          }
        ]
      }
    }
  ]
}

ระบุจำนวนผลลัพธ์ที่จะแสดงต่อ 1 หน้า

ใช้พารามิเตอร์ 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

  1. เลือกไอคอน API ขยายโปรแกรมสำรวจ API ที่ด้านขวาของหน้า

  2. ขยายแสดงพารามิเตอร์มาตรฐาน และตั้งค่าfields พารามิเตอร์ ลงในช่อง mask

  3. แก้ไขเนื้อหาคำขอ (ไม่บังคับ)

  4. เลือกปุ่มดำเนินการ ในกล่องโต้ตอบป๊อปอัป ให้เลือกบัญชีที่ ที่คุณต้องการใช้เพื่อสร้างคำขอ

  5. ในแผงโปรแกรมสำรวจ API ให้เลือกไอคอนขยาย ขยายโปรแกรมสำรวจ API เพื่อขยายหน้าต่างโปรแกรมสำรวจ API