Destination
หมายถึงสถานที่หรือตำแหน่งที่เฉพาะเจาะจงซึ่งผู้ใช้ตั้งใจจะไปถึงหรือนำทางไป นอกจากนี้ Destination ยังรวมถึงคอลเล็กชันข้อมูลที่เกี่ยวข้องกับสถานที่หรือสถานที่ตั้ง เช่น จุดนำทาง สถานที่สำคัญ ทางเข้า และโครงร่างอาคาร
เมธอด SearchDestinations ของ Geocoding API ช่วยให้คุณดึงข้อมูลโดยละเอียดเกี่ยวกับจุดหมายต่างๆ โดยอิงตามเกณฑ์อินพุตที่แตกต่างกัน เช่น ที่อยู่ รหัสสถานที่ หรือพิกัดละติจูดและลองจิจูด
คำขอค้นหาจุดหมาย
คำขอค้นหาจุดหมายคือคำขอ HTTP POST ไปยัง URL ในรูปแบบต่อไปนี้
https://geocode.googleapis.com/v4/geocode/destinations
ส่งพารามิเตอร์ทั้งหมดในเนื้อหาคำขอ JSON หรือในส่วนหัวโดยเป็นส่วนหนึ่งของคำขอ POST เช่น
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
คุณระบุสถานที่เพื่อค้นหาปลายทางได้ 3 วิธีดังนี้
- ที่อยู่
- รหัสสถานที่
- พิกัดละติจูดและลองจิจูด
ค้นหาจุดหมายตามที่อยู่
คุณระบุที่อยู่เป็นสตริงที่ไม่มีโครงสร้างได้ การเข้ารหัสพิกัดภูมิศาสตร์ของที่อยู่จะไม่แปลงพิกัดละติจูดและลองจิจูด หรือสตริงอื่นๆ ที่ไม่มีโครงสร้างซึ่งไม่ได้แสดงถึงที่อยู่ ระบบไม่รองรับคำขอที่ใช้สตริงดังกล่าว และอาจทำให้เกิดการตอบกลับข้อผิดพลาดหรือลักษณะการทำงานที่ไม่ได้ระบุ ตัวอย่างคำค้นหาที่ไม่รองรับมีดังนี้
| ประเภทคำค้นหา | ตัวอย่าง |
|---|---|
| พิกัดละติจูดและลองจิจูด ให้ใช้คำค้นหาสถานที่ตั้งแทน | "37.422131,-122.084801" |
| มีแนวคิดหรือข้อจำกัดมากเกินไป เช่น ชื่อสถานที่ ถนน หรือเมืองหลายแห่งในคำค้นหาเดียว | "Market Street San Francisco San Jose Airport" |
| องค์ประกอบของที่อยู่ทางไปรษณีย์ไม่แสดงใน Google Maps |
"C/O John Smith 123 Main Street" "P.O. Box 13 San Francisco" |
| ชื่อธุรกิจ กลุ่มธุรกิจ หรือหมวดหมู่ที่รวมกับสถานที่ตั้งซึ่งไม่มีนิติบุคคลเหล่านี้ให้บริการ | "Tesco ใกล้ Dallas, Texas" |
| คำค้นหาที่กำกวมซึ่งตีความได้หลายแบบ | "จุดส่งคืนที่ชาร์จ" |
| ชื่อเดิมที่ไม่ได้ใช้แล้ว | "Middlesex United Kingdom" |
| องค์ประกอบหรือเจตนาที่ไม่ใช่เชิงภูมิสารสนเทศ | "มีเรือกี่ลำในท่าเรือเวนทูรา" |
| ชื่อที่ไม่เป็นทางการหรือชื่อที่ตั้งขึ้นเอง |
"The Jenga" "The Helter Skelter" |
| หน่วยงานทางการเมืองขนาดใหญ่ (เมือง รัฐ ประเทศ) |
"New York City" "California" "USA" |
| เส้นทางที่ไม่มีที่อยู่ที่เฉพาะเจาะจง |
"1st Ave., "I-95" |
curl -X POST -d '{
"addressQuery": {
"addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
หรือเป็น
postalAddress:
curl -X POST -d '{
"addressQuery": {
"address": {
"addressLines": ["601 S Bernardo Ave"],
"locality": "Sunnyvale",
"postalCode": "94087",
"administrativeArea": "CA",
"regionCode": "US"
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
โดยปกติแล้ว คุณจะใช้รูปแบบ postalAddress เมื่อประมวลผลคอมโพเนนต์ที่อยู่ซึ่งบันทึกไว้ในแบบฟอร์ม HTML
ค้นหาปลายทางตามรหัสสถานที่
คุณสามารถดึงข้อมูลจุดหมายได้โดยระบุรหัสสถานที่ ดังนี้
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
รหัสสถานที่ที่รองรับ
วิธีการค้นหาจุดหมายทำงานได้ดีที่สุดกับรหัสสถานที่ที่แสดงถึงจุดหมายที่เฉพาะเจาะจงและนำทางได้ โดยทั่วไปแล้ว ระบบจะรองรับรหัสสถานที่สำหรับประเภทต่างๆ เช่น establishment, point_of_interest, premise, street_address และ subpremise ระบบไม่รองรับรหัสสถานที่ที่ไม่ได้แสดงถึงสถานที่ตั้งที่แยกกัน เช่น รหัสที่อนุมานจากช่วงที่อยู่ (เช่น "10-20 ถ.สุขุมวิท") ส่วนของเส้นทางที่ไม่มีหมายเลขเฉพาะ หรือ Plus Code นอกจากนี้ ระบบยังไม่รองรับรหัสสถานที่สำหรับผลการค้นหาที่มีพื้นที่ขนาดใหญ่เกินไป (เช่น "มหาสมุทรแปซิฟิก")
ใช้การเติมข้อความอัตโนมัติ (ใหม่) กับ Search Destinations
หากต้องการตรวจสอบความเข้ากันได้ ให้ใช้การเติมข้อความอัตโนมัติ (ใหม่) เพื่อค้นหารหัสสถานที่สำหรับใช้กับ Search Destinations เมื่อใช้การเติมข้อความอัตโนมัติ (ใหม่) คุณควรกรองผลลัพธ์ตามประเภทโดยใช้พารามิเตอร์ includedPrimaryTypes รหัสสถานที่ที่แสดงผลโดยการเติมข้อความอัตโนมัติ (ใหม่) โดยใช้ตัวกรองที่แนะนำต่อไปนี้ได้รับการรองรับโดย Search Destinations
"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]
นอกจากนี้ คุณไม่ควรตั้งค่าแฟล็ก include_pure_service_area_businesses เป็น true ในคำขอเติมข้อความอัตโนมัติ (ใหม่)
ค้นหาปลายทางตามสถานที่ตั้ง
คุณค้นหาจุดหมายได้โดยระบุพิกัดละติจูดและลองจิจูดดังนี้
curl -X POST -d '{
"locationQuery": {
"location": {
"latitude": 37.37348780,
"longitude": -122.05678064
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
ใช้ OAuth เพื่อสร้างคำขอ
Geocoding API v4 รองรับ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ หากต้องการใช้ OAuth กับ Geocoding API คุณต้องกำหนดขอบเขตที่ถูกต้องให้กับโทเค็น OAuth Geocoding API รองรับขอบเขตต่อไปนี้เพื่อใช้กับเมธอด Destinations
https://www.googleapis.com/auth/maps-platform.geocode— ใช้กับเมธอด Geocoding API ทั้งหมด
นอกจากนี้ คุณยังใช้ขอบเขตทั่วไป https://www.googleapis.com/auth/cloud-platform สำหรับเมธอด Geocoding API ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนา แต่ไม่ใช่ในเวอร์ชันที่ใช้งานจริง เนื่องจากเป็นขอบเขตทั่วไปที่อนุญาตให้เข้าถึงเมธอดทั้งหมด
ดูข้อมูลเพิ่มเติมและตัวอย่างได้ที่หัวข้อใช้ OAuth
การตอบกลับการค้นหาปลายทาง
การตอบกลับของ Search Destinations จะให้บริบทที่สมบูรณ์และเจาะจงเฉพาะพื้นที่เกี่ยวกับสถานที่นั้นๆ
ออบเจ็กต์ PlaceView ภายในการตอบกลับ Search Destinations (เช่น primary, รายการใน containingPlaces และ landmarks) จะใช้ฟิลด์เพื่อระบุประเภทสถานที่ ดังนี้
types: อาร์เรย์ของสตริงที่ระบุประเภทของสถานที่primaryType: สตริงที่ระบุประเภทหลักของสถานที่
ค่าสตริงที่เป็นไปได้สำหรับทั้ง types และ primaryType จะดึงมาจากตาราง A และตาราง B ในหน้าประเภทสถานที่ (ใหม่)
ส่วนนี้จะอธิบายช่องการตอบกลับที่สำคัญ ดูรายละเอียดทั้งหมดเกี่ยวกับช่องการตอบกลับทั้งหมดได้ในเอกสารอ้างอิง API
primary
สถานที่หลักที่ระบุโดยคำค้นหาในคำขอ
addressComponents
อาร์เรย์ที่มีคอมโพเนนต์แยกต่างหากที่ใช้กับที่อยู่นี้
โดยทั่วไปแล้ว คอมโพเนนต์ที่อยู่แต่ละรายการจะมีช่องต่อไปนี้
types[]คืออาร์เรย์ที่ระบุประเภทขององค์ประกอบที่อยู่ ดูรายการประเภทที่รองรับlongTextคือคำอธิบายแบบข้อความเต็มหรือชื่อของคอมโพเนนต์ที่อยู่ตามที่โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์แสดงผลshortTextคือชื่อแบบย่อขององค์ประกอบที่อยู่ (หากมี) ตัวอย่างเช่น คอมโพเนนต์ที่อยู่สำหรับรัฐอะแลสกาอาจมีlongTextเป็น "อะแลสกา" และshortTextเป็น "AK" โดยใช้ตัวย่อไปรษณีย์ 2 ตัวอักษรlanguageCodeคือภาษาที่ใช้จัดรูปแบบคอมโพเนนต์นี้ในรูปแบบ CLDR
containingPlaces
สถานที่ขนาดใหญ่ซึ่งมีจุดหมายหลักเป็นส่วนหนึ่ง (เช่น ห้างสรรพสินค้าที่มีร้านค้า)
subDestinations
สถานที่ที่เฉพาะเจาะจงมากขึ้นภายในจุดหมายหลัก (เช่น อพาร์ตเมนต์ในอาคาร)
entrances
ออบเจ็กต์ในอาร์เรย์ entrances[] มีช่องต่อไปนี้
displayNameออบเจ็กต์
LocalizedTextที่มีชื่อทางเข้าที่มนุษย์อ่านได้ (เช่น"South Bernardo Avenue"หรือ"5th Avenue") หากมีlocationคู่พิกัดละติจูด/ลองจิจูดเดียวที่กำหนดตำแหน่งของจุดเข้าและออกของสถานที่
entrance_tags[]อาร์เรย์ของแท็กทางเข้าที่อธิบายลักษณะของทางเข้า ค่าที่รองรับมีดังนี้
"PREFERRED"
ระบุว่าทางเข้านี้น่าจะให้สิทธิ์เข้าถึงสถานที่ที่แสดงผล สถานที่หนึ่งๆ อาจมีทางเข้าที่ต้องการหลายทาง หากทางเข้าไม่มีแท็กนี้ หมายความว่าทางเข้าอยู่ในอาคารเดียวกัน แต่ไม่จำเป็นต้องให้สิทธิ์เข้าถึงสถานที่นั้น
ตัวอย่างเช่น หากสถานที่ที่แสดงผลเป็นร้านอาหารในศูนย์การค้า ทางเข้า
"PREFERRED"จะเป็นทางเข้าที่นำไปสู่ร้านอาหารนั้น ส่วนทางเข้าอื่นๆ ที่แสดงผลจะเป็นทางเข้าอื่นๆ ของอาคาร เช่น ทางเข้าของร้านอาหารอื่นๆ ในศูนย์การค้าหากสถานที่ที่แสดงผลเป็นตัวอาคาร ทางเข้า
"PREFERRED"จะเป็นทางเข้าที่นำไปสู่ส่วน "หลัก" ของอาคาร ตัวอย่างเช่น ในศูนย์การค้า ทางเข้า"PREFERRED"จะเป็นทางเข้าที่อนุญาตให้เข้าถึงบริเวณห้องโถงหลัก แต่หากทางเข้าอนุญาตให้เข้าถึงเฉพาะร้านค้าที่อยู่ด้านข้างของอาคาร ทางเข้านั้นจะไม่ใช่ทางเข้า"PREFERRED"streetViewThumbnailและstreetViewAnnotationพารามิเตอร์สำหรับ Street View Static API ซึ่งช่วยให้คุณแสดงภาพที่เกี่ยวข้องสำหรับสถานที่เหล่านี้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องเหล่านี้
structureType
ประเภทของโครงสร้างที่สถานที่นี้แสดง
POINTตำแหน่งจุด
SECTIONส่วนย่อยของอาคาร
BUILDINGอาคาร
GROUNDSพื้นที่ขนาดใหญ่ที่มักมีอาคารหลายหลัง เช่น วิทยาเขตของมหาวิทยาลัย อพาร์ตเมนต์คอมเพล็กซ์ หรือศูนย์การค้า
navigationPoints
ช่อง 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": [ { "displayName": { "text": "South Bernardo Avenue", "languageCode": "en" }, "location": { "latitude": 37.3735328, "longitude": -122.05694879999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4", "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "PARKING" ] } ] } ] }
พารามิเตอร์ที่จำเป็น
- ต้องมีพารามิเตอร์ 1 ใน 3 รายการต่อไปนี้ในคำขอ API ซึ่งระบุที่อยู่ สถานที่ หรือตำแหน่งเพื่อค้นหาจุดหมาย
addressQuery- ที่อยู่ที่ต้องการค้นหาplace- รหัสสถานที่ของสถานที่ที่จะค้นหาlocationQuery- พิกัดละติจูดและลองจิจูดของสถานที่ที่ต้องการค้นหา
FieldMask
ระบุรายการฟิลด์ที่จะแสดงในการตอบกลับโดยสร้างมาสก์ฟิลด์การตอบกลับ ส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดโดยใช้พารามิเตอร์ของ URL
$fieldsหรือfieldsหรือโดยใช้ส่วนหัว 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 - การแยกอาคาร: ใช้
-
ความพยายาม
เวอร์ชันทดลอง: พารามิเตอร์
effortเป็นเวอร์ชันทดลอง สร้างคำขอ HTTP โดยใช้แชแนล/v4alpha/ข้อมูลเพิ่มเติมเกี่ยวกับช่องทางในระยะเปิดตัวระบุปริมาณการประมวลผล
Effortที่จะใช้เมื่อแก้ไขการค้นหาปลายทาง (ส่งผลต่อการแก้ไขaddressQueryเป็นหลัก)EFFORT_UNSPECIFIED— ค่าเริ่มต้น ทำงานเหมือนกับความพยายามLOWLOW— เพิ่มประสิทธิภาพเพื่อเวลาในการตอบสนองที่เร็วที่สุด ไม่ทำการค้นหาแบบขยายหรือการแก้ความกำกวมสำหรับที่อยู่ที่ซับซ้อนMEDIUM— ให้ความสมดุลระหว่างความเร็วและความแม่นยำ คำขอส่วนใหญ่จะแสดงผลด้วยเวลาในการตอบสนองต่ำตามมาตรฐาน สำหรับที่อยู่ที่กำกวมหรือยาก บริการจะใช้การประมวลผลเพิ่มเติมเพื่อปรับปรุงความแม่นยำ ซึ่งอาจใช้เวลาถึง 2-3 วินาที แนะนำสำหรับเวิร์กโฟลว์แบบอินเทอร์แอกทีฟที่ผู้ใช้สามารถหยุดชั่วคราวได้เป็นระยะเวลาสั้นๆHIGH— เพิ่มความแม่นยำในการแปลงที่อยู่ให้สูงสุดสำหรับที่อยู่ที่ไม่สมบูรณ์ ไม่เป็นทางการ หรือซับซ้อน เวลาในการตอบกลับอาจนานขึ้นอย่างมาก เหมาะสำหรับเวิร์กโฟลว์การจัดส่งแบบเบื้องหลัง แบบกลุ่ม หรือแบบโลจิสติกส์
ตัวอย่างเช่น คำขอต่อไปนี้ใช้
"effort": "HIGH"เพื่อแก้ไขการค้นหาที่อยู่ปลายทางcurl -X POST -d '{ "addressQuery": { "addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai" }, "effort": "HIGH" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: *" \ https://geocode.googleapis.com/v4alpha/geocode/destinationsดูรายละเอียดเพิ่มเติมเกี่ยวกับความคาดหวังด้านเวลาในการตอบสนอง การจำกัดอัตราคำขอ และรูปแบบการผสานรวมที่แนะนำได้ที่การเข้ารหัสพิกัดภูมิศาสตร์ที่มีความแม่นยำมากขึ้น