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

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (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"
ชื่อธุรกิจ ชื่อเครือข่าย หรือชื่อหมวดหมู่รวมกับสถานที่ที่เอนทิตีเหล่านี้ไม่พร้อมให้บริการ "Tesco near Dallas, Texas"
คำค้นหาที่คลุมเครือซึ่งตีความได้หลายแบบ "Charger drop-off"
ชื่อในอดีตที่ไม่ได้ใช้แล้ว "Middlesex United Kingdom"
องค์ประกอบหรือความตั้งใจที่ไม่ใช่เชิงภูมิสารสนเทศ "How many boats are in Ventura Harbor?"
ชื่อที่ไม่เป็นทางการหรือชื่อที่ตั้งขึ้นเอง "The Jenga"
"The Helter Skelter"
เอนทิตีทางการเมืองขนาดใหญ่ (เมือง รัฐ ประเทศ) "New York City"
"California"
"USA"
เส้นทางที่ไม่มีที่อยู่ที่เฉพาะเจาะจง "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

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

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

ใช้ Places API Autocomplete (New) กับ Search Destinations

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

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

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

ค้นหาจุดหมายตามสถานที่

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

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

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

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

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

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

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

primary

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

containingPlaces

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

subDestinations

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

entrances

ออบเจ็กต์ในอาร์เรย์ entrances[] มีฟิลด์ต่อไปนี้

  • location

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

  • entrance_tags[]

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

    • "PREFERRED"

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

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

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

  • streetViewThumbnail และ streetViewAnnotation

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

structureType

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

  • POINT

    สถานที่ที่เป็นจุด

  • SECTION

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

  • BUILDING

    อาคาร

  • GROUNDS

    พื้นที่ขนาดใหญ่ซึ่งโดยปกติจะมีอาคารหลายหลัง เช่น วิทยาเขตของมหาวิทยาลัย อาคารอพาร์ตเมนต์ หรือห้างสรรพสินค้า

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

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

  • navigationPointToken เป็นโทเค็นที่มีข้อมูลบริบทในฟิลด์ navigationPoints คุณสามารถส่งโทเค็นนี้ไปยัง Routing และ Navigation 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