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 ภายในคำตอบของปลายทางการค้นหา (เช่น 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[] มีช่องต่อไปนี้
locationคู่พิกัดละติจูด/ลองจิจูดเดียวที่กำหนดตำแหน่งของจุดเข้าและออกของสถานที่
entrance_tags[]อาร์เรย์ของแท็กทางเข้าที่อธิบายลักษณะของทางเข้า ค่าที่รองรับมีดังนี้
"PREFERRED"
ระบุว่าทางเข้านี้น่าจะให้สิทธิ์เข้าถึงสถานที่ที่แสดงผล สถานที่หนึ่งๆ อาจมีทางเข้าที่ต้องการหลายทาง หากทางเข้าไม่มีแท็กนี้ หมายความว่าทางเข้าอยู่ในอาคารเดียวกัน แต่ไม่จำเป็นต้องให้สิทธิ์เข้าถึงสถานที่นั้น
ตัวอย่างเช่น หากสถานที่ที่แสดงผลเป็นร้านอาหารในศูนย์การค้า ทางเข้า
"PREFERRED"จะเป็นทางเข้าที่นำไปสู่ร้านอาหารนั้น ส่วนทางเข้าอื่นๆ ที่แสดงผลจะเป็นทางเข้าอื่นๆ ของอาคาร เช่น ทางเข้าของร้านอาหารอื่นๆ ในศูนย์การค้าหากสถานที่ที่ส่งคืนเป็นตัวอาคารเอง
"PREFERRED"ทางเข้าจะเป็น ทางเข้าที่นำไปสู่ส่วน "หลัก" ของอาคาร ตัวอย่างเช่น ในศูนย์การค้า ทางเข้า"PREFERRED"จะเป็นทางเข้าที่อนุญาตให้เข้าถึงบริเวณห้องโถงหลัก แต่หากทางเข้าอนุญาตให้เข้าถึงเฉพาะร้านค้าที่อยู่ด้านข้างของอาคาร ทางเข้านั้นจะไม่ใช่ทางเข้า"PREFERRED"streetViewThumbnailและstreetViewAnnotationพารามิเตอร์สำหรับ Street View Static API ซึ่งช่วยให้คุณแสดงภาพที่เกี่ยวข้องสำหรับสถานที่เหล่านี้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องเหล่านี้
structureType
ประเภทโครงสร้างที่สถานที่นี้แสดง
POINTตำแหน่งจุด
SECTIONส่วนย่อยของอาคาร
BUILDINGอาคาร
GROUNDSพื้นที่ขนาดใหญ่ซึ่งมักจะมีอาคารหลายหลัง เช่น วิทยาเขตของมหาวิทยาลัย กลุ่มอาคารอพาร์ตเมนต์ หรือศูนย์การค้า
navigationPoints
ช่อง navigationPoints ภายในการตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์มีรายการจุดที่เป็นประโยชน์สำหรับการนำทางไปยังสถานที่นั้น โดยเฉพาะอย่างยิ่ง ควรใช้เป็นจุดเริ่มต้นหรือจุดสิ้นสุดเมื่อกำหนดเส้นทางบนเครือข่ายถนนจากหรือไปยังสถานที่
จุดนำทางแต่ละจุดจะมีค่าต่อไปนี้
navigationPointTokenคือโทเค็นที่มีข้อมูลตามบริบทในช่องnavigationPointsคุณสามารถส่งโทเค็นนี้ไปยัง API การกำหนดเส้นทางและการนำทางเพื่อปรับปรุงประสบการณ์การกำหนดเส้นทางและแม่น้ำในแอป ดูข้อมูลเพิ่มเติมได้ที่เส้นทางโดยใช้โทเค็นจุดนำทางlocationมีค่าละติจูด ลองจิจูดของจุดนำทาง ตำแหน่งนี้จะอยู่ใกล้กับเครือข่ายถนนมากเสมอและแสดงถึง จุดเริ่มต้นหรือจุดสิ้นสุดที่เหมาะสำหรับการไปยังและกลับจากสถานที่หนึ่งๆ จุดนี้ตั้งใจให้เบี่ยงออกจากเส้นกึ่งกลางของถนนเล็กน้อยเพื่อทำเครื่องหมายด้านข้างของถนนที่สถานที่ตั้งอยู่อย่างชัดเจนtravelModesคือรายการรูปแบบการเดินทางที่เข้าถึงจุดนำทางได้:"DRIVE"คือรูปแบบการเดินทางที่สอดคล้องกับเส้นทางการขับขี่"WALK"คือรูปแบบการเดินทางที่สอดคล้องกับเส้นทางเดินเท้า
usagesคือรายการการใช้งานที่จุดนำทางรองรับ การใช้งานอาจเป็นดังนี้"DROPOFF""PICKUP""PARKING"
สำหรับการรับและส่ง ให้ใช้จุดนำทางที่รูปแบบการเดินทางเป็น DRIVE และการใช้งานเป็น PICKUP หรือ DROPOFF หากไม่มีจุดรับหรือจุดส่ง ให้ใช้จุดนำทางสำหรับการขับรถที่อยู่ด้านบนสุด
streetViewThumbnailและentranceAnnotationมีพารามิเตอร์สำหรับ Street View Static API ซึ่งช่วยให้คุณแสดงภาพที่เกี่ยวข้องสำหรับสถานที่เหล่านี้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ ฟิลด์เหล่านี้
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": [ { "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หรือโดยใช้ส่วนหัว HTTPX-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 อัปเดตภาษาที่รองรับอยู่บ่อยครั้ง รายการนี้จึงอาจไม่ได้แสดงข้อมูลทั้งหมด
-
หากไม่ได้ระบุ
languageCodeAPI จะใช้ภาษาท้องถิ่นและสคริปต์ของสถานที่ตั้งเป็นค่าเริ่มต้น หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง 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 - การแยกอาคาร: ใช้