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

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

A 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"
ชื่อของธุรกิจ เครือข่าย หรือหมวดหมู่ที่รวมกับสถานที่ซึ่งไม่มีเอนทิตีเหล่านี้ "เทสโก้ใกล้แดลลัส เท็กซัส"
คำค้นหาที่คลุมเครือซึ่งตีความได้หลายแบบ "การส่งคืนที่ชาร์จ"
ชื่อเดิมที่ไม่ได้ใช้แล้ว "มิดเดิลเซ็กซ์ สหราชอาณาจักร"
องค์ประกอบหรือเจตนาที่ไม่ใช่เชิงพื้นที่ "ท่าเรือเวนทูรามีเรือกี่ลำ"
ชื่อที่ไม่เป็นทางการหรือชื่อที่กำหนดเอง "The Jenga"
"The Helter Skelter"
หน่วยงานทางการเมืองขนาดใหญ่ (เมือง รัฐ ประเทศ) "นครนิวยอร์ก"
"แคลิฟอร์เนีย"
"สหรัฐอเมริกา"
เส้นทางที่ไม่มีที่อยู่ที่เฉพาะเจาะจง "1st Ave., NYC, NY"
"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 Main St"), ส่วนของเส้นทางที่ไม่มีหมายเลขเฉพาะ หรือ Plus Code นอกจากนี้ ระบบไม่รองรับรหัสสถานที่สำหรับ ผลลัพธ์ที่มีพื้นที่กว้างเกินไป (เช่น "มหาสมุทรแปซิฟิก")

ใช้การเติมข้อความอัตโนมัติ (ใหม่) กับปลายทางการค้นหา

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

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

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

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

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

primary

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

addressComponents

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

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

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

containingPlaces

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

subDestinations

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

entrances

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

  • 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

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

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": [
        {
          "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"
          ]
        }
      ]
    }
  ]
}

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

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