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

การค้นหาข้อความ (ใหม่) จะแสดงผลข้อมูลเกี่ยวกับกลุ่มสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" หรือ "ร้านรองเท้าใกล้เมืองออตตาวา" หรือ "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 หรือใช้ส่วนหัว HTTP X-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.allowsDogsplaces.curbsidePickupplaces.deliveryplaces.dineInplaces.editorialSummaryplaces.evChargeOptionsplaces.fuelOptionsplaces.goodForChildrenplaces.goodForGroupsplaces.goodForWatchingSportsplaces.liveMusicplaces.menuForChildrenplaces.parkingOptionsplaces.paymentOptionsplaces.outdoorSeatingplaces.reservableplaces.restroomplaces.reviewsplaces.servesBeerplaces.servesBreakfastplaces.servesBrunchplaces.servesCocktailsplaces.servesCoffeeplaces.servesDessertsplaces.servesDinnerplaces.servesLunchplaces.servesVegetarianFoodplaces.servesWineplaces.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

  1. เลือกไอคอน API ขยาย API Explorer ทางด้านขวาของหน้า

  2. (ไม่บังคับ) ขยายแสดงพารามิเตอร์มาตรฐาน และตั้งค่าพารามิเตอร์ fields เป็นฟิลด์มาสก์

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

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

  5. ในแผง API Explorer ให้เลือกไอคอนขยาย ขยาย API Explorer เพื่อขยายหน้าต่าง API Explorer