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 (ใหม่) กับ Search Destinations
ใช้ Places API Autocomplete
(ใหม่) เพื่อค้นหารหัสสถานที่ที่จะใช้กับ 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
ฟิลด์ navigationPoints ในการตอบกลับของ Geocoding มีรายการจุดที่เป็นประโยชน์สำหรับการนำทางไปยังสถานที่ โดยเฉพาะอย่างยิ่ง ควรใช้จุดเหล่านี้เป็นจุดเริ่มต้นหรือจุดสิ้นสุดเมื่อกำหนดเส้นทางบนเครือข่ายถนนจากหรือไปยังสถานที่
จุดนำทางแต่ละจุดจะมีค่าต่อไปนี้
navigationPointTokenเป็นโทเค็นที่มีข้อมูลบริบทในฟิลด์navigationPointsคุณสามารถส่งโทเค็นนี้ไปยัง Routing และ Navigation 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
สถานที่สำคัญที่อยู่ใกล้เคียงเพื่อช่วยให้ผู้ใช้เข้าใจสภาพแวดล้อมของจุดหมาย
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 จะใช้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 - อาคารที่แยกกัน: ใช้