ค้นหาจุดหมาย

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

Destination หมายถึงสถานที่หรือตำแหน่งที่เฉพาะเจาะจงซึ่งผู้ใช้ตั้งใจจะไปถึงหรือนำทางไป นอกจากนี้ Destination ยังรวมถึงคอลเล็กชันข้อมูลที่เกี่ยวข้องกับสถานที่หรือสถานที่ตั้ง เช่น จุดนำทาง สถานที่สำคัญ ทางเข้า และโครงร่างอาคาร

เมธอด SearchDestinations ของ Geocoding API ช่วยให้คุณดึงข้อมูลโดยละเอียดเกี่ยวกับจุดหมายต่างๆ โดยอิงตามเกณฑ์อินพุตที่แตกต่างกัน เช่น ที่อยู่ รหัสสถานที่ หรือพิกัดละติจูดและลองจิจูด

คำขอค้นหาจุดหมาย

คำขอค้นหาจุดหมายคือคำขอ HTTP POST ไปยัง URL ในรูปแบบต่อไปนี้

https://geocode.googleapis.com/v4/geocode/destinations

ส่งพารามิเตอร์ทั้งหมดในเนื้อหาคำขอ JSON หรือในส่วนหัวโดยเป็นส่วนหนึ่งของคำขอ POST เช่น

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

คุณระบุสถานที่เพื่อค้นหาปลายทางได้ 3 วิธีดังนี้

  • ที่อยู่
  • รหัสสถานที่
  • พิกัดละติจูดและลองจิจูด

ค้นหาจุดหมายตามที่อยู่

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

ประเภทคำค้นหา ตัวอย่าง
พิกัดละติจูดและลองจิจูด ให้ใช้คำค้นหาสถานที่ตั้งแทน "37.422131,-122.084801"
มีแนวคิดหรือข้อจำกัดมากเกินไป เช่น ชื่อสถานที่ ถนน หรือเมืองหลายแห่งในคำค้นหาเดียว "Market Street San Francisco San Jose Airport"
องค์ประกอบของที่อยู่ทางไปรษณีย์ไม่แสดงใน Google Maps "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"
ชื่อธุรกิจ กลุ่มธุรกิจ หรือหมวดหมู่ที่รวมกับสถานที่ตั้งซึ่งไม่มีนิติบุคคลเหล่านี้ให้บริการ "Tesco ใกล้ Dallas, Texas"
คำค้นหาที่กำกวมซึ่งตีความได้หลายแบบ "จุดส่งคืนที่ชาร์จ"
ชื่อเดิมที่ไม่ได้ใช้แล้ว "Middlesex United Kingdom"
องค์ประกอบหรือเจตนาที่ไม่ใช่เชิงภูมิสารสนเทศ "มีเรือกี่ลำในท่าเรือเวนทูรา"
ชื่อที่ไม่เป็นทางการหรือชื่อที่ตั้งขึ้นเอง "The Jenga"
"The Helter Skelter"
หน่วยงานทางการเมืองขนาดใหญ่ (เมือง รัฐ ประเทศ) "New York City"
"California"
"USA"
เส้นทางที่ไม่มีที่อยู่ที่เฉพาะเจาะจง "1st Ave.,
"I-95"
curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

หรือเป็น postalAddress:

curl -X POST -d '{
  "addressQuery": {
    "address": {
      "addressLines": ["601 S Bernardo Ave"],
      "locality": "Sunnyvale",
      "postalCode": "94087",
      "administrativeArea": "CA",
      "regionCode": "US"
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

โดยปกติแล้ว คุณจะใช้รูปแบบ postalAddress เมื่อประมวลผลคอมโพเนนต์ที่อยู่ซึ่งบันทึกไว้ในแบบฟอร์ม HTML

ค้นหาปลายทางตามรหัสสถานที่

คุณสามารถดึงข้อมูลจุดหมายได้โดยระบุรหัสสถานที่ ดังนี้

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

รหัสสถานที่ที่รองรับ

วิธีการค้นหาจุดหมายทำงานได้ดีที่สุดกับรหัสสถานที่ที่แสดงถึงจุดหมายที่เฉพาะเจาะจงและนำทางได้ โดยทั่วไปแล้ว ระบบจะรองรับรหัสสถานที่สำหรับประเภทต่างๆ เช่น establishment, point_of_interest, premise, street_address และ subpremise ระบบไม่รองรับรหัสสถานที่ที่ไม่ได้แสดงถึงสถานที่ตั้งที่แยกกัน เช่น รหัสที่อนุมานจากช่วงที่อยู่ (เช่น "10-20 ถ.สุขุมวิท") ส่วนของเส้นทางที่ไม่มีหมายเลขเฉพาะ หรือ Plus Code นอกจากนี้ ระบบยังไม่รองรับรหัสสถานที่สำหรับผลการค้นหาที่มีพื้นที่ขนาดใหญ่เกินไป (เช่น "มหาสมุทรแปซิฟิก")

ใช้การเติมข้อความอัตโนมัติ (ใหม่) กับ Search Destinations

หากต้องการตรวจสอบความเข้ากันได้ ให้ใช้การเติมข้อความอัตโนมัติ (ใหม่) เพื่อค้นหารหัสสถานที่สำหรับใช้กับ Search Destinations เมื่อใช้การเติมข้อความอัตโนมัติ (ใหม่) คุณควรกรองผลลัพธ์ตามประเภทโดยใช้พารามิเตอร์ includedPrimaryTypes รหัสสถานที่ที่แสดงผลโดยการเติมข้อความอัตโนมัติ (ใหม่) โดยใช้ตัวกรองที่แนะนำต่อไปนี้ได้รับการรองรับโดย Search Destinations

"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]

นอกจากนี้ คุณไม่ควรตั้งค่าแฟล็ก include_pure_service_area_businesses เป็น true ในคำขอเติมข้อความอัตโนมัติ (ใหม่)

ค้นหาปลายทางตามสถานที่ตั้ง

คุณค้นหาจุดหมายได้โดยระบุพิกัดละติจูดและลองจิจูดดังนี้

curl -X POST -d '{
  "locationQuery": {
    "location": {
      "latitude": 37.37348780,
      "longitude": -122.05678064
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

ใช้ OAuth เพื่อสร้างคำขอ

Geocoding API v4 รองรับ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ หากต้องการใช้ OAuth กับ Geocoding API คุณต้องกำหนดขอบเขตที่ถูกต้องให้กับโทเค็น OAuth Geocoding API รองรับขอบเขตต่อไปนี้เพื่อใช้กับเมธอด Destinations

  • https://www.googleapis.com/auth/maps-platform.geocode — ใช้กับเมธอด Geocoding API ทั้งหมด

นอกจากนี้ คุณยังใช้ขอบเขตทั่วไป https://www.googleapis.com/auth/cloud-platform สำหรับเมธอด Geocoding API ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนา แต่ไม่ใช่ในเวอร์ชันที่ใช้งานจริง เนื่องจากเป็นขอบเขตทั่วไปที่อนุญาตให้เข้าถึงเมธอดทั้งหมด

ดูข้อมูลเพิ่มเติมและตัวอย่างได้ที่หัวข้อใช้ OAuth

การตอบกลับการค้นหาปลายทาง

การตอบกลับของ Search Destinations จะให้บริบทที่สมบูรณ์และเจาะจงเฉพาะพื้นที่เกี่ยวกับสถานที่นั้นๆ

ออบเจ็กต์ PlaceView ภายในการตอบกลับ Search Destinations (เช่น primary, รายการใน containingPlaces และ landmarks) จะใช้ฟิลด์เพื่อระบุประเภทสถานที่ ดังนี้

  • types: อาร์เรย์ของสตริงที่ระบุประเภทของสถานที่
  • primaryType: สตริงที่ระบุประเภทหลักของสถานที่

ค่าสตริงที่เป็นไปได้สำหรับทั้ง types และ primaryType จะดึงมาจากตาราง A และตาราง B ในหน้าประเภทสถานที่ (ใหม่)

ส่วนนี้จะอธิบายช่องการตอบกลับที่สำคัญ ดูรายละเอียดทั้งหมดเกี่ยวกับช่องการตอบกลับทั้งหมดได้ในเอกสารอ้างอิง API

primary

สถานที่หลักที่ระบุโดยคำค้นหาในคำขอ

addressComponents

อาร์เรย์ที่มีคอมโพเนนต์แยกต่างหากที่ใช้กับที่อยู่นี้

โดยทั่วไปแล้ว คอมโพเนนต์ที่อยู่แต่ละรายการจะมีช่องต่อไปนี้

  • types[] คืออาร์เรย์ที่ระบุประเภทขององค์ประกอบที่อยู่ ดูรายการประเภทที่รองรับ
  • longText คือคำอธิบายแบบข้อความเต็มหรือชื่อของคอมโพเนนต์ที่อยู่ตามที่โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์แสดงผล
  • shortText คือชื่อแบบย่อขององค์ประกอบที่อยู่ (หากมี) ตัวอย่างเช่น คอมโพเนนต์ที่อยู่สำหรับรัฐอะแลสกาอาจมี longText เป็น "อะแลสกา" และ shortText เป็น "AK" โดยใช้ตัวย่อไปรษณีย์ 2 ตัวอักษร
  • languageCode คือภาษาที่ใช้จัดรูปแบบคอมโพเนนต์นี้ในรูปแบบ CLDR

containingPlaces

สถานที่ขนาดใหญ่ซึ่งมีจุดหมายหลักเป็นส่วนหนึ่ง (เช่น ห้างสรรพสินค้าที่มีร้านค้า)

subDestinations

สถานที่ที่เฉพาะเจาะจงมากขึ้นภายในจุดหมายหลัก (เช่น อพาร์ตเมนต์ในอาคาร)

entrances

ออบเจ็กต์ในอาร์เรย์ entrances[] มีช่องต่อไปนี้

  • displayName

    ออบเจ็กต์ LocalizedText ที่มีชื่อทางเข้าที่มนุษย์อ่านได้ (เช่น "South Bernardo Avenue" หรือ "5th Avenue") หากมี

  • location

    คู่พิกัดละติจูด/ลองจิจูดเดียวที่กำหนดตำแหน่งของจุดเข้าและออกของสถานที่

  • entrance_tags[]

    อาร์เรย์ของแท็กทางเข้าที่อธิบายลักษณะของทางเข้า ค่าที่รองรับมีดังนี้

    • "PREFERRED"

    ระบุว่าทางเข้านี้น่าจะให้สิทธิ์เข้าถึงสถานที่ที่แสดงผล สถานที่หนึ่งๆ อาจมีทางเข้าที่ต้องการหลายทาง หากทางเข้าไม่มีแท็กนี้ หมายความว่าทางเข้าอยู่ในอาคารเดียวกัน แต่ไม่จำเป็นต้องให้สิทธิ์เข้าถึงสถานที่นั้น

    ตัวอย่างเช่น หากสถานที่ที่แสดงผลเป็นร้านอาหารในศูนย์การค้า ทางเข้า "PREFERRED" จะเป็นทางเข้าที่นำไปสู่ร้านอาหารนั้น ส่วนทางเข้าอื่นๆ ที่แสดงผลจะเป็นทางเข้าอื่นๆ ของอาคาร เช่น ทางเข้าของร้านอาหารอื่นๆ ในศูนย์การค้า

    หากสถานที่ที่แสดงผลเป็นตัวอาคาร ทางเข้า "PREFERRED" จะเป็นทางเข้าที่นำไปสู่ส่วน "หลัก" ของอาคาร ตัวอย่างเช่น ในศูนย์การค้า ทางเข้า"PREFERRED"จะเป็นทางเข้าที่อนุญาตให้เข้าถึงบริเวณห้องโถงหลัก แต่หากทางเข้าอนุญาตให้เข้าถึงเฉพาะร้านค้าที่อยู่ด้านข้างของอาคาร ทางเข้านั้นจะไม่ใช่ทางเข้า"PREFERRED"

  • streetViewThumbnail และ streetViewAnnotation

    พารามิเตอร์สำหรับ Street View Static API ซึ่งช่วยให้คุณแสดงภาพที่เกี่ยวข้องสำหรับสถานที่เหล่านี้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องเหล่านี้

structureType

ประเภทของโครงสร้างที่สถานที่นี้แสดง

  • POINT

    ตำแหน่งจุด

  • SECTION

    ส่วนย่อยของอาคาร

  • BUILDING

    อาคาร

  • GROUNDS

    พื้นที่ขนาดใหญ่ที่มักมีอาคารหลายหลัง เช่น วิทยาเขตของมหาวิทยาลัย อพาร์ตเมนต์คอมเพล็กซ์ หรือศูนย์การค้า

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

จุดนำทางแต่ละจุดจะมีค่าต่อไปนี้

  • navigationPointToken คือโทเค็นที่มีข้อมูลตามบริบทในช่อง navigationPoints คุณสามารถส่งโทเค็นนี้ไปยัง API การกำหนดเส้นทางและการนำทางเพื่อปรับปรุงประสบการณ์การกำหนดเส้นทางและแม่น้ำในแอป ดูข้อมูลเพิ่มเติมได้ที่เส้นทางโดยใช้โทเค็นจุดนำทาง
  • location มีค่าละติจูดและลองจิจูดของจุดนำทาง ตำแหน่งนี้จะอยู่ใกล้กับเครือข่ายถนนเสมอ และแสดงถึงจุดหยุดหรือจุดเริ่มต้นที่เหมาะสมสำหรับการนำทางไปและกลับจากสถานที่ จุดนี้ตั้งใจให้เยื้องจากเส้นกึ่งกลางของถนนเล็กน้อยเพื่อทำเครื่องหมายด้านข้างของถนนที่สถานที่ตั้งอยู่อย่างชัดเจน
  • travelModes คือรายการรูปแบบการเดินทางที่เข้าถึงจุดนำทางได้:
    • "DRIVE" คือรูปแบบการเดินทางที่สอดคล้องกับเส้นทางการขับขี่
    • "WALK" คือรูปแบบการเดินทางที่สอดคล้องกับเส้นทางเดินเท้า
  • usages คือรายการการใช้งานที่จุดนำทางรองรับ การใช้งานอาจเป็นดังนี้
    • "DROPOFF"
    • "PICKUP"
    • "PARKING"

สำหรับการรับและส่ง ให้ใช้จุดนำทางที่รูปแบบการเดินทางเป็น DRIVE และการใช้งานเป็น PICKUP หรือ DROPOFF หากไม่มีจุดรับหรือจุดส่ง ให้ใช้จุดนำทางสำหรับการขับรถที่อยู่ด้านบนสุด

  • altitude_meters มีระดับความสูงของจุดนำทางเป็นเมตรที่สัมพันธ์กับทรงรี WGS-84 ในกรณีที่มีส่วนของถนนซ้อนกันในแนวตั้ง ให้ใช้ช่อง altitude_meters เพื่อเลือกส่วนของถนนที่ดีที่สุดสำหรับระบบในการนำทางไป

landmarks

สถานที่ใกล้เคียงที่น่าสนใจเพื่อช่วยให้ผู้ใช้เข้าใจสภาพแวดล้อมของจุดหมายปลายทาง

จุดสังเกตแต่ละจุดจะมีช่องต่อไปนี้

  • place คือออบเจ็กต์ PlaceView ที่แสดงจุดสังเกตนี้
  • relationalDescription คือคำอธิบายที่มนุษย์อ่านได้เกี่ยวกับความสัมพันธ์ระหว่างจุดหมายกับจุดสังเกต เช่น "ใกล้ตึกเอ็มไพร์สเตต" หรือ "ตรงข้ามทำเนียบขาว"
  • tags[] คืออาร์เรย์ของแท็กที่อธิบายวิธีใช้จุดสังเกตในบริบทของปลายทาง ดังนี้
    • "ADDRESS": สถานที่ที่โดดเด่นในท้องถิ่นซึ่งใช้ระบุตำแหน่งทั่วไปของจุดหมายได้
    • "ARRIVAL": สถานที่ที่ใช้เพื่อช่วยให้ไปถึงจุดหมายได้ ซึ่งมีประโยชน์สำหรับการนำทางเมื่ออยู่ใกล้จุดหมาย
  • straightLineDistanceMeters คือระยะทางแบบเส้นตรงจากจุดสังเกตนี้ไปยังจุดหมายปลายทางในหน่วยเมตร
  • travelDistanceMeters คือระยะทางที่เดินจากจุดสังเกตนี้ไปยังจุดหมายปลายทางเป็นเมตร

arrivalSummary

ข้อมูลเชิงลึกที่ทำงานด้วยระบบ AI เพื่อช่วยในการมาถึง ดูข้อมูลสรุปที่ทำงานด้วยระบบ AI

parkingOptions

ข้อมูลที่จอดรถโดยละเอียด

รูปแบบคำตอบ

SearchDestinations จะแสดงผล SearchDestinationsResponse ในรูปแบบ JSON ต่อไปนี้

{
  "destinations": [
    {
      "primary": {
        "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w",
        "displayName": {
          "text": "Arby's",
          "languageCode": "en"
        },
        "primaryType": "fast_food_restaurant",
        "types": [
          "fast_food_restaurant",
          "sandwich_shop",
          "deli",
          "meal_takeaway",
          "food_delivery",
          "american_restaurant",
          "restaurant",
          "food_store",
          "store",
          "food",
          "point_of_interest",
          "establishment"
        ],
        "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA",
        "postalAddress": {
          "regionCode": "US",
          "languageCode": "en",
          "postalCode": "94087",
          "administrativeArea": "CA",
          "locality": "Sunnyvale",
          "addressLines": [
            "601 S Bernardo Ave"
          ]
        },
        "structureType": "BUILDING",
        "location": {
          "latitude": 37.3734545,
          "longitude": -122.05693269999998
        },
        "displayPolygon": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.056930138027,
                37.3735253692531
              ],
              [
                -122.056960139391,
                37.3735372663597
              ],
              [
                -122.056994129366,
                37.3734828786847
              ],
              [
                -122.056969677395,
                37.3734731161089
              ],
              [
                -122.057061762447,
                37.3733261309656
              ],
              [
                -122.056979388817,
                37.3732935577128
              ],
              [
                -122.056798860285,
                37.3735818838642
              ],
              [
                -122.056875858081,
                37.3736121235316
              ],
              [
                -122.056930138027,
                37.3735253692531
              ]
            ]
          ]
        }
      },
      "containingPlaces": [
        {
          "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw",
          "displayName": {
            "text": "Cherry Chase Shopping Center",
            "languageCode": "en"
          },
          "primaryType": "shopping_mall",
          "types": [
            "shopping_mall",
            "point_of_interest",
            "establishment"
          ],
          "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA",
          "postalAddress": {
            "regionCode": "US",
            "languageCode": "en",
            "postalCode": "94087-1020",
            "administrativeArea": "CA",
            "locality": "Sunnyvale",
            "addressLines": [
              "663 S Bernardo Ave"
            ]
          },
          "structureType": "GROUNDS",
          "location": {
            "latitude": 37.3731231,
            "longitude": -122.0578211
          },
          "displayPolygon": {
            "type": "Polygon",
            "coordinates": [
              [
                [
                  -122.057112227103,
                  37.3714618008523
                ],
                [
                  -122.057076849821,
                  37.3715743611411
                ],
                [
                  -122.056963607756,
                  37.3719081793948
                ],
                [
                  -122.056865279559,
                  37.3722026053835
                ],
                [
                  -122.056687872374,
                  37.3727258358476
                ],
                [
                  -122.056580005889,
                  37.3730511370747
                ],
                [
                  -122.056498845827,
                  37.3732994782583
                ],
                [
                  -122.056338259713,
                  37.3737878663325
                ],
                [
                  -122.056618678291,
                  37.373887693582
                ],
                [
                  -122.056912102521,
                  37.3740010327191
                ],
                [
                  -122.057532418159,
                  37.3742476426462
                ],
                [
                  -122.057673926626,
                  37.3742441740031
                ],
                [
                  -122.057735663106,
                  37.3742328516943
                ],
                [
                  -122.057766531332,
                  37.3742220604378
                ],
                [
                  -122.057797572967,
                  37.37420520725
                ],
                [
                  -122.057828267759,
                  37.3741852342085
                ],
                [
                  -122.058060299297,
                  37.3740060842535
                ],
                [
                  -122.058199726081,
                  37.3737861673422
                ],
                [
                  -122.05836707267,
                  37.373524542556
                ],
                [
                  -122.058569622393,
                  37.3732018598683
                ],
                [
                  -122.0587638478,
                  37.3728890198039
                ],
                [
                  -122.058934661823,
                  37.3726036257774
                ],
                [
                  -122.059164956851,
                  37.3722498383629
                ],
                [
                  -122.058997784906,
                  37.3721804442035
                ],
                [
                  -122.057936479838,
                  37.3717605636234
                ],
                [
                  -122.057495827092,
                  37.3715860151634
                ],
                [
                  -122.057112227103,
                  37.3714618008523
                ]
              ]
            ]
          }
        }
      ],
      "landmarks": [
        {
          "place": {
            "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg",
            "displayName": {
              "text": "Chase Bank",
              "languageCode": "en"
            },
            "primaryType": "bank",
            "types": [
              "bank",
              "atm",
              "finance",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1234 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.373579,
              "longitude": -122.05752700000001
            }
          },
          "relationalDescription": {
            "text": "Near Chase Bank",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 61.182193756103516,
          "travelDistanceMeters": 63.075645446777344
        },
        {
          "place": {
            "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14",
            "displayName": {
              "text": "Safeway",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "butcher_shop",
              "florist",
              "deli",
              "supermarket",
              "bakery",
              "food_delivery",
              "market",
              "manufacturer",
              "food_store",
              "store",
              "food",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "639 S Bernardo Ave"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3727912,
              "longitude": -122.0581172
            }
          },
          "relationalDescription": {
            "text": "Around the corner from Safeway",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 158.65606689453125,
          "travelDistanceMeters": 131.1669921875
        },
        {
          "place": {
            "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk",
            "displayName": {
              "text": "Oil Changers",
              "languageCode": "en"
            },
            "types": [
              "car_repair",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1240 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3743054,
              "longitude": -122.0584272
            }
          },
          "relationalDescription": {
            "text": "Down the road from Oil Changers",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL"
          ],
          "straightLineDistanceMeters": 140.52459716796875,
          "travelDistanceMeters": 143.24220275878906
        },
        {
          "place": {
            "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0",
            "displayName": {
              "text": "Apni Mandi Farmers Market Sunnyvale",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "cake_shop",
              "supermarket",
              "asian_grocery_store",
              "indian_restaurant",
              "meal_takeaway",
              "bakery",
              "manufacturer",
              "wholesaler",
              "restaurant",
              "food_store",
              "store",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1056",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1111 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3737199,
              "longitude": -122.0522958
            }
          },
          "relationalDescription": {
            "text": "Near Apni Mandi Farmers Market Sunnyvale",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 410.37435913085938,
          "travelDistanceMeters": 479.49893188476562
        },
        {
          "place": {
            "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs",
            "displayName": {
              "text": "Starbird Chicken",
              "languageCode": "en"
            },
            "primaryType": "chicken_restaurant",
            "types": [
              "chicken_restaurant",
              "fast_food_restaurant",
              "restaurant",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1028",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1241 W El Camino Real"
              ]
            },
            "structureType": "BUILDING",
            "location": {
              "latitude": 37.3746764,
              "longitude": -122.05708860000001
            },
            "displayPolygon": {
              "coordinates": [
                [
                  [
                    -122.057003840785,
                    37.3747648209809
                  ],
                  [
                    -122.057136852459,
                    37.3747919153144
                  ],
                  [
                    -122.057205005705,
                    37.3745815131859
                  ],
                  [
                    -122.057071994114,
                    37.3745544186944
                  ],
                  [
                    -122.057003840785,
                    37.3747648209809
                  ]
                ]
              ],
              "type": "Polygon"
            }
          },
          "relationalDescription": {
            "text": "Near Starbird Chicken",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 87.348007202148438,
          "travelDistanceMeters": 214.08084106445312
        }
      ],
      "entrances": [
        {
          "displayName": {
            "text": "South Bernardo Avenue",
            "languageCode": "en"
          },
          "location": {
            "latitude": 37.3735328,
            "longitude": -122.05694879999999
          },
          "tags": [
            "PREFERRED"
          ],
          "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
        }
      ],
      "navigationPoints": [
        {
          "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4",
          "location": {
            "latitude": 37.3738659,
            "longitude": -122.05693620000001
          },
          "travelModes": [
            "DRIVE",
            "WALK"
          ],
          "usages": [
            "PARKING"
          ]
        }
      ]
    }
  ]
}

พารามิเตอร์ที่จำเป็น

  • ต้องมีพารามิเตอร์ 1 ใน 3 รายการต่อไปนี้ในคำขอ API ซึ่งระบุที่อยู่ สถานที่ หรือตำแหน่งเพื่อค้นหาจุดหมาย
    • addressQuery - ที่อยู่ที่ต้องการค้นหา
    • place - รหัสสถานที่ของสถานที่ที่จะค้นหา
    • locationQuery - พิกัดละติจูดและลองจิจูดของสถานที่ที่ต้องการค้นหา
  • FieldMask

    ระบุรายการฟิลด์ที่จะแสดงในการตอบกลับโดยสร้างมาสก์ฟิลด์การตอบกลับ ส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดโดยใช้พารามิเตอร์ของ URL $fields หรือ fields หรือโดยใช้ส่วนหัว HTTP X-Goog-FieldMask ตัวอย่างเช่น คำขอด้านล่างจะแสดงเฉพาะทางเข้า จุดนำทาง และรหัสสถานที่ของจุดหมายหลักเท่านั้น

      curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
        -H "X-Goog-Api-Key: API_KEY" \
        -H "Content-Type: application/json" \
        -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \
        https://geocode.googleapis.com/v4/geocode/destinations
      

    ไม่มีรายการเริ่มต้นของช่องที่แสดงผลในการตอบกลับ หากคุณละเว้นมาสก์ฟิลด์ เมธอดจะแสดงข้อผิดพลาด ตั้งค่ามาสก์ของช่องเป็น * เพื่อแสดงผลช่องทั้งหมด ดูรายละเอียดเพิ่มเติมได้ที่หัวข้อเลือกช่องที่จะแสดงผล

พารามิเตอร์ที่ไม่บังคับ

  • travelModes

    ระบุประเภทของ navigationPoints ที่จะแสดงผล ระบบจะกรองจุดนำทางสำหรับโหมดการเดินทางอื่นๆ ออก หากไม่ได้ตั้งค่า travelModes ระบบจะแสดงผลจุดนำทางของรูปแบบการเดินทางทั้งหมดได้

  • languageCode

    ภาษาที่จะแสดงผลลัพธ์

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

    รหัสภูมิภาคเป็นค่ารหัส CLDR 2 หลัก ไม่มีค่าเริ่มต้น รหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1

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

  • placeFilter

    ช่วยให้คุณกรองผลการค้นหา locationQuery เพื่อให้ตรงกับความต้องการ เช่น แสดงเฉพาะจุดหมายที่เป็นอาคารหรือเฉพาะจุดหมายที่มีที่อยู่ที่ชัดเจน

    กรองตามรายละเอียดโครงสร้าง

    ตัวกรอง structureType ช่วยให้คุณระบุประเภทของโครงสร้างที่การค้นหาจะแสดงผลได้ ดังนี้

    • การแยกอาคาร: ใช้ "structureType": "BUILDING" เพื่อแสดงโครงร่างอาคารบนแผนที่หรือดูรายละเอียดของโครงสร้างที่เฉพาะเจาะจง
    • การทำความเข้าใจคอมเพล็กซ์: ใช้ "structureType": "GROUNDS" เพื่อให้แน่ใจว่าผลการค้นหาหลักคือพื้นที่โดยรวม ซึ่งจะเป็นประโยชน์เมื่อค้นหาพื้นที่ขนาดใหญ่ เช่น วิทยาเขตของมหาวิทยาลัยหรือห้างสรรพสินค้า
    • การมุ่งเน้นที่หน่วย/ส่วน: ใช้ "structureType": "SECTION" เพื่อระบุส่วนต่างๆ ภายในอาคาร

    ตรวจสอบว่าที่อยู่มีประโยชน์

    สถานที่บางแห่งไม่มีที่อยู่ระดับถนนที่ชัดเจน ตัวกรอง addressability ช่วยให้คุณควบคุมคุณภาพของที่อยู่ในผลลัพธ์ได้ ดังนี้

    • กำหนดให้มีที่อยู่หลักที่ชัดเจน: เพื่อให้แน่ใจว่าผลลัพธ์ของจุดหมายหลักมีที่อยู่หรือชื่อระดับถนนเสมอ ให้ใช้ "addressability": "PRIMARY" ซึ่งมีประโยชน์สำหรับการนำทางหรือการแสดงผลที่จำเป็นต้องใช้ที่อยู่ที่ชัดเจน
    • อนุญาตที่อยู่ในจุดหมายย่อย: ในกรณีที่สถานที่หลักอาจไม่มีที่อยู่ แต่ยูนิตภายในสถานที่นั้นมี (เช่น อพาร์ตเมนต์ในอาคาร) "addressability": "WEAK" จะตรวจสอบว่าสถานที่หลักหรือจุดหมายย่อยอย่างน้อย 1 แห่งมีที่อยู่
    • ผลลัพธ์ใดก็ได้: หากการมีอยู่ของที่อยู่ไม่เกี่ยวข้องกับ Use Case ของคุณ ให้ใช้ "addressability": "ANY" เราขอแนะนำให้ใช้ตัวเลือกนี้เมื่อคุณต้องการเฉพาะแอตทริบิวต์ทางเรขาคณิต เช่น โครงร่างอาคารและจุดนำทาง เนื่องจากจะช่วยเพิ่มความแม่นยำของผลลัพธ์เหล่านี้
    ตัวอย่าง: การกรองอาคารที่ระบุที่อยู่ได้
    curl -X POST -d '{
      "locationQuery": {
        "location": {
          "latitude": 37.37348780,
          "longitude": -122.05678064
        },
        "placeFilter": {
          "structureType": "BUILDING",
          "addressability": "PRIMARY"
        }
      },
      "languageCode": "en"
    }' \\
    -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\
    -H "X-Goog-FieldMask: place" \\
    https://geocode.googleapis.com/v4/geocode/destinations
    
  • ความพยายาม

    เวอร์ชันทดลอง: พารามิเตอร์ effort เป็นเวอร์ชันทดลอง สร้างคำขอ HTTP โดยใช้แชแนล /v4alpha/ ข้อมูลเพิ่มเติมเกี่ยวกับช่องทางในระยะเปิดตัว

    ระบุปริมาณการประมวลผล Effort ที่จะใช้เมื่อแก้ไขการค้นหาปลายทาง (ส่งผลต่อการแก้ไข addressQuery เป็นหลัก)

    • EFFORT_UNSPECIFIED — ค่าเริ่มต้น ทำงานเหมือนกับความพยายาม LOW
    • LOW — เพิ่มประสิทธิภาพเพื่อเวลาในการตอบสนองที่เร็วที่สุด ไม่ทำการค้นหาแบบขยายหรือการแก้ความกำกวมสำหรับที่อยู่ที่ซับซ้อน
    • MEDIUM — ให้ความสมดุลระหว่างความเร็วและความแม่นยำ คำขอส่วนใหญ่จะแสดงผลด้วยเวลาในการตอบสนองต่ำตามมาตรฐาน สำหรับที่อยู่ที่กำกวมหรือยาก บริการจะใช้การประมวลผลเพิ่มเติมเพื่อปรับปรุงความแม่นยำ ซึ่งอาจใช้เวลาถึง 2-3 วินาที แนะนำสำหรับเวิร์กโฟลว์แบบอินเทอร์แอกทีฟที่ผู้ใช้สามารถหยุดชั่วคราวได้เป็นระยะเวลาสั้นๆ
    • HIGH — เพิ่มความแม่นยำในการแปลงที่อยู่ให้สูงสุดสำหรับที่อยู่ที่ไม่สมบูรณ์ ไม่เป็นทางการ หรือซับซ้อน เวลาในการตอบกลับอาจนานขึ้นอย่างมาก เหมาะสำหรับเวิร์กโฟลว์การจัดส่งแบบเบื้องหลัง แบบกลุ่ม หรือแบบโลจิสติกส์

    ตัวอย่างเช่น คำขอต่อไปนี้ใช้ "effort": "HIGH" เพื่อแก้ไขการค้นหาที่อยู่ปลายทาง

    curl -X POST -d '{
      "addressQuery": {
        "addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
      },
      "effort": "HIGH"
    }' \
    -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
    -H "X-Goog-FieldMask: *" \
    https://geocode.googleapis.com/v4alpha/geocode/destinations
    

    ดูรายละเอียดเพิ่มเติมเกี่ยวกับความคาดหวังด้านเวลาในการตอบสนอง การจำกัดอัตราคำขอ และรูปแบบการผสานรวมที่แนะนำได้ที่การเข้ารหัสพิกัดภูมิศาสตร์ที่มีความแม่นยำมากขึ้น