Method: geocode.destinations.searchDestinations

เมธอดนี้จะค้นหาปลายทางและแสดงรายการปลายทาง

คำขอ HTTP

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

URL ใช้ไวยากรณ์การแปลงรหัส gRPC

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // Union field primary_query can be only one of the following:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of list of possible types for union field primary_query.
}
ฟิลด์
travelModes[]

enum (NavigationPoint.TravelMode)

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

languageCode

string

ไม่บังคับ ภาษาที่ควรแสดงผลลัพธ์

regionCode

string

ไม่บังคับ รหัสภูมิภาค รหัสภูมิภาคที่ระบุเป็นค่า ccTLD ("โดเมนระดับบนสุด") แบบ 2 อักขระ พารามิเตอร์นี้ส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง พารามิเตอร์นี้ยังส่งผลต่อผลลัพธ์จากบริการด้วย แต่จะไม่จำกัดผลลัพธ์โดยสมบูรณ์

ฟิลด์ Union primary_query ค้นหาจุดหมายหลัก ซึ่งอาจเป็นสถานที่ ที่อยู่ที่ระบุไว้อย่างสมบูรณ์ หรือตำแหน่ง LatLng ก็ได้ สถานที่และที่อยู่บางแห่งที่มีข้อมูลน้อยที่สุดจะเปลี่ยนเป็นปลายทางไม่ได้

ระบบจะสร้างปลายทางตามการค้นหาหลักที่ระบุ

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

place

string

ชื่อทรัพยากรของสถานที่ในรูปแบบ places/{placeId}

addressQuery

object (SearchDestinationsRequest.AddressQuery)

ที่อยู่

locationQuery

object (SearchDestinationsRequest.LocationQuery)

ตำแหน่งที่แน่นอน

เนื้อหาการตอบกลับ

ข้อความตอบกลับสำหรับ DestinationService.SearchDestinations

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
ช่อง
destinations[]

object (Destination)

รายการปลายทาง

บริการจะแสดงผลลัพธ์ 1 รายการหากระบุปลายทางหลักจากคำค้นหาหลักได้อย่างชัดเจน มิฉะนั้น บริการอาจแสดงผลลัพธ์หลายรายการเพื่อแก้ความกำกวมหรือแสดงผลลัพธ์เป็น 0 รายการ

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/maps-platform.geocode
  • https://www.googleapis.com/auth/maps-platform.destinations

SearchDestinationsRequest.AddressQuery

ที่อยู่ถนนที่ต้องการค้นหา ระบุที่อยู่ตามรูปแบบที่ใช้โดยบริการไปรษณีย์แห่งชาติของประเทศที่เกี่ยวข้อง

การแสดง JSON
{

  // Union field kind can be only one of the following:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of list of possible types for union field kind.
}
ช่อง
ฟิลด์ Union kind การค้นหาที่อยู่ kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
address

object (PostalAddress)

ที่อยู่แบบเต็มในรูปแบบที่อยู่ทางไปรษณีย์

addressQuery

string

ที่อยู่ซึ่งจัดรูปแบบเป็นบรรทัดเดียว

SearchDestinationsRequest.LocationQuery

คำค้นหาสถานที่เพื่อระบุจุดหมายหลักที่อยู่ใกล้เคียง

หมายเหตุ: หากการค้นหาสถานที่อยู่ภายในอาคารที่มีสถานที่ย่อย สถานที่หลักที่แสดงอาจเป็นสถานที่ย่อย ในกรณีเหล่านี้ ช่อง containingPlaces จะรวมอาคารไว้ด้วย

การแสดง JSON
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
ฟิลด์
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

ไม่บังคับ ตัวกรองที่จะใช้กับปลายทางที่เป็นไปได้

ฟิลด์ Union kind คำค้นหาสถานที่ kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
location

object (LatLng)

ตำแหน่ง LatLng ที่แน่นอน

SearchDestinationsRequest.LocationQuery.PlaceFilter

ตัวกรองที่จะใช้กับผู้สมัครรับตำแหน่งปลายทาง

การแสดง JSON
{
  "structureType": enum (PlaceView.StructureType),
  "addressability": enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)
}
ฟิลด์
structureType

enum (PlaceView.StructureType)

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

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

การใช้ฟิลด์นี้อีกอย่างคือการดึงรูปหลายเหลี่ยมของอาคารที่แสดงได้ง่ายขึ้น เช่น หากระบุ BUILDING รูปหลายเหลี่ยมที่แสดงของสถานที่หลักจะเป็นของอาคารในสถานที่ที่ระบุ

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

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

PlaceView.StructureType

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

Enum
STRUCTURE_TYPE_UNSPECIFIED ไม่ได้ใช้
POINT ตำแหน่งจุด
SECTION ส่วนย่อยของอาคาร
BUILDING อาคาร
GROUNDS พื้นที่ขนาดใหญ่ซึ่งมักจะมีอาคารหลายหลัง เช่น วิทยาเขตของมหาวิทยาลัย กลุ่มอาคารอพาร์ตเมนต์ หรือห้างสรรพสินค้า

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

กำหนดตัวเลือกสำหรับการกรองการกำหนดเป้าหมาย ทั้งนี้ อาจมีการเพิ่มค่าใหม่ในอนาคต

Enum
ADDRESSABILITY_UNSPECIFIED เมื่อไม่ได้ระบุ บริการจะเลือกค่าเริ่มต้นที่เหมาะสม
ANY ความสามารถในการระบุตัวตนไม่ใช่เกณฑ์การกรอง ระบบจะแสดงผลปลายทางโดยไม่คำนึงถึงความสามารถในการระบุที่อยู่
PRIMARY ปลายทางทั้งหมดที่แสดงจะมีสถานที่หลักที่มีที่อยู่หรือชื่อระดับถนน
WEAK จุดหมายทั้งหมดที่แสดงผลจะมีสถานที่หลักหรือจุดหมายย่อยที่มีที่อยู่หรือชื่อระดับถนน

ปลายทาง

ปลายทาง ซึ่งรวมถึงสถานที่หลัก สถานที่ที่เกี่ยวข้อง ทางเข้า และจุดนำทาง

การแสดง JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
ช่อง
primary

object (PlaceView)

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

containingPlaces[]

object (PlaceView)

สถานที่ที่มีความแม่นยำน้อยกว่าซึ่งมีสถานที่หลักอยู่ เช่น อาคารอพาร์ตเมนต์ที่มีอาคารนี้อยู่

subDestinations[]

object (PlaceView)

จุดหมายย่อยที่แม่นยำยิ่งขึ้นของสถานที่หลัก เช่น หน่วยที่อยู่ในอาคาร

หมายเหตุ: เมื่อเทียบกับ SubDestination ที่แสดงผลโดย Places API รายการจุดหมายย่อยนี้จะครอบคลุมมากกว่า และจุดหมายย่อยแต่ละแห่งจะมีข้อมูลมากกว่า

landmarks[]

object (Landmark)

จุดสังเกตที่ใช้สื่อสารได้ว่าจุดหมายอยู่ที่ใดหรือช่วยในการเดินทางไปถึง

entrances[]

object (Entrance)

ทางเข้าของจุดหมายนี้

navigationPoints[]

object (NavigationPoint)

จุดนำทางสำหรับปลายทางนี้

PlaceView

แสดงมุมมองของสถานที่ใน Places API นอกจากนี้ ยังให้ข้อมูลเพิ่มเติมที่เฉพาะเจาะจงสำหรับจุดหมาย เช่น ประเภทโครงสร้างและรูปหลายเหลี่ยมที่แสดง

ในบางกรณี PlaceView ที่มีรหัสสถานที่เดียวกันอาจแตกต่างจากสิ่งที่ Places API แสดงผลสำหรับฟิลด์ types และ displayName

การแสดง JSON
{
  "place": string,
  "placeId": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  },
  "addressComponents": [
    {
      object (PlaceView.AddressComponent)
    }
  ]
}
ช่อง
place

string

ชื่อทรัพยากรของสถานที่นี้ในรูปแบบ places/{placeId} ใช้เพื่อค้นหาสถานที่ได้

placeId

string

ตัวระบุที่ไม่ซ้ำกันของสถานที่

displayName

object (LocalizedText)

คำอธิบายสถานที่ที่มนุษย์อ่านได้ เช่น "ประตู B", "McDonalds"

primaryType

string

ประเภทสถานที่หลักของสถานที่นี้ ดูรายการค่าที่เป็นไปได้ได้ที่ https://developers.google.com/maps/documentation/places/web-service/place-types

หมายเหตุ: ระบบอาจไม่ป้อนข้อมูลในช่องนี้เสมอไป เตรียมพร้อมที่จะใช้ช่อง types ในสถานการณ์ดังกล่าว

types[]

string

ประเภทสถานที่ที่เชื่อมโยงทั้งหมดของสถานที่นี้ ดูรายการค่าที่เป็นไปได้ได้ที่ https://developers.google.com/maps/documentation/places/web-service/place-types

formattedAddress

string

ที่อยู่แบบบรรทัดเดียว

postalAddress

object (PostalAddress)

ที่อยู่ที่มีโครงสร้าง

structureType

enum (PlaceView.StructureType)

ประเภทของโครงสร้างที่สอดคล้องกับสถานที่นี้

location

object (LatLng)

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

displayPolygon

object (Struct format)

โครงร่างรูปหลายเหลี่ยมของสถานที่ในรูปแบบ GeoJSON โดยใช้รูปแบบ RFC 7946: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6

หมายเหตุ: รูปแบบ RFC 7946 รองรับ MultiPolygon ดังนั้นออบเจ็กต์ displayPolygon 1 รายการจึงแสดงรูปหลายเหลี่ยมได้หลายรูป

addressComponents[]

object (PlaceView.AddressComponent)

คอมโพเนนต์ที่ซ้ำกันสำหรับระดับสถานที่แต่ละระดับ

PlaceView.AddressComponent

คอมโพเนนต์ที่มีโครงสร้างซึ่งประกอบกันเป็นที่อยู่ที่จัดรูปแบบแล้ว หากมีข้อมูลนี้

การแสดง JSON
{
  "longText": string,
  "shortText": string,
  "types": [
    string
  ],
  "languageCode": string
}
ช่อง
longText

string

คำอธิบายข้อความแบบเต็มหรือชื่อของคอมโพเนนต์ที่อยู่ เช่น คอมโพเนนต์ที่อยู่สำหรับประเทศออสเตรเลียอาจมีชื่อแบบยาวว่า "ออสเตรเลีย"

shortText

string

ชื่อข้อความแบบย่อสำหรับคอมโพเนนต์ที่อยู่ (หากมี) ตัวอย่างเช่น คอมโพเนนต์ที่อยู่สำหรับประเทศออสเตรเลียอาจมีชื่อย่อเป็น "AU"

types[]

string

อาร์เรย์ที่ระบุประเภทของคอมโพเนนต์ที่อยู่

ดูรายละเอียดเพิ่มเติมได้ที่ https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types

languageCode

string

ภาษาที่ใช้จัดรูปแบบคอมโพเนนต์นี้ในรูปแบบ CLDR

สถานที่สำคัญ

จุดสังเกตใช้เพื่อสื่อสารว่าจุดหมายปลายทางอยู่ที่ใดหรือช่วยในการเดินทางถึงจุดหมายปลายทาง

การแสดง JSON
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // Union field landmark can be only one of the following:
  "place": {
    object (PlaceView)
  }
  // End of list of possible types for union field landmark.
}
ช่อง
relationalDescription

object (LocalizedText)

คำอธิบายที่มนุษย์อ่านได้ว่าจุดหมายเกี่ยวข้องกับสถานที่สำคัญอย่างไร เช่น "ใกล้ตึกเอ็มไพร์สเตต" หรือ "ตรงข้ามทำเนียบขาว"

tags[]

enum (Landmark.Tag)

แท็กที่อธิบายวิธีใช้สถานที่สำคัญในบริบทของจุดหมาย

straightLineDistanceMeters

number

เอาต์พุตเท่านั้น ระยะทางแบบเส้นตรงจากจุดสังเกตนี้ไปยังจุดหมายปลายทางเป็นเมตร

travelDistanceMeters

number

เอาต์พุตเท่านั้น ระยะทางเดินเท้าจากจุดสังเกตนี้ไปยังจุดหมายปลายทางเป็นเมตร

ฟิลด์ Union landmark จุดสังเกต landmark ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
place

object (PlaceView)

สถานที่ที่แสดงถึงจุดสังเกตนี้

Landmark.Tag

รายการแท็กที่เป็นไปได้ทั้งหมดซึ่งอธิบายวิธีใช้จุดสังเกตในบริบทของจุดหมาย

หากที่อยู่มีทั้งแท็ก ADDRESS และ ARRIVAL แสดงว่าสถานที่สำคัญนั้นโดดเด่นในพื้นที่และอยู่ใกล้กับจุดหมาย

Enum
TAG_UNSPECIFIED ไม่ได้ใช้
ADDRESS สถานที่ที่มีชื่อเสียงในท้องถิ่นซึ่งใช้เพื่อระบุตําแหน่งทั่วไปของจุดหมายได้ โดยปกติจะอยู่ห่างจากจุดหมายไม่กี่ร้อยเมตร ซึ่งคล้ายกับจุดสังเกตที่แสดงผลโดยฟีเจอร์ตัวบ่งชี้ที่อยู่ของ Geocoding API: https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors
ARRIVAL สถานที่ที่ใช้เพื่อช่วยให้ไปถึงจุดหมายได้ มีประโยชน์สำหรับการนำทางเมื่อคุณอยู่ใกล้จุดหมาย เช่น จุดสังเกตนี้อาจเป็นสถานที่ที่อยู่ฝั่งตรงข้ามถนนจากจุดหมาย จุดสังเกตที่มีแท็กนี้มักจะอยู่ใกล้กับจุดหมายมากกว่าจุดสังเกตที่มีแท็ก ADDRESS

ทางเข้า

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

การแสดง JSON
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
ช่อง
location

object (LatLng)

ตำแหน่งของทางเข้า

tags[]

enum (Entrance.Tag)

รายการแท็กที่อธิบายทางเข้า

place

string

โครงสร้างที่ทางเข้านี้ตั้งอยู่จริงในรูปแบบ places/{placeId}

Entrance.Tag

ลักษณะที่อธิบายทางเข้า

Enum
TAG_UNSPECIFIED ไม่ได้ใช้
PREFERRED

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

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

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

หมายเหตุ: PREFERRED ทางเข้าอาจไม่ได้ให้สิทธิ์เข้าถึงสถานที่หลัก และทางเข้าที่ไม่ใช่PREFERREDอาจให้สิทธิ์เข้าถึงสถานที่หลัก