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
คุณระบุสถานที่ที่จะค้นหาจุดหมายได้ 1 ใน 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 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
การตอบกลับของ Search Destinations ให้ข้อมูลบริบทที่สมบูรณ์และเจาะจงเฉพาะพื้นที่มากเกี่ยวกับสถานที่
ออบเจ็กต์ PlaceView ในการตอบกลับของ Search Destinations (เช่น primary รายการใน containingPlaces และ landmarks) ใช้ฟิลด์เพื่อระบุประเภทสถานที่ดังนี้
types: อาร์เรย์ของสตริงที่ระบุประเภทของสถานที่primaryType: สตริงที่ระบุประเภทหลักของสถานที่
ค่าสตริงที่เป็นไปได้สำหรับทั้ง types และ primaryType จะดึงมาจาก ตาราง A และตาราง B ในหน้าประเภทสถานที่ (ใหม่)
ส่วนนี้อธิบายฟิลด์การตอบกลับที่สำคัญ ดูรายละเอียดทั้งหมดเกี่ยวกับฟิลด์การตอบกลับทั้งหมดได้ในเอกสารอ้างอิง API Reference
primary
สถานที่หลักที่ระบุโดยคำค้นหาในคำขอ
addressComponents
อาร์เรย์ที่มีคอมโพเนนต์แยกกันที่ใช้ได้กับที่อยู่นี้
โดยปกติคอมโพเนนต์ของที่อยู่แต่ละรายการจะมีฟิลด์ต่อไปนี้
types[]เป็นอาร์เรย์ที่ระบุประเภทของคอมโพเนนต์ของที่อยู่ ดูรายการประเภทที่ รองรับlongTextคือคำอธิบายหรือชื่อแบบข้อความแบบเต็มของคอมโพเนนต์ของที่อยู่ตามที่แสดงผลโดย GeocodershortTextคือชื่อแบบข้อความย่อของคอมโพเนนต์ของที่อยู่ หากมี เช่น คอมโพเนนต์ของที่อยู่สำหรับรัฐอะแลสกาอาจมีlongTextเป็น "Alaska" และ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 ในการตอบกลับของ Geocoding มีรายการจุดที่เป็นประโยชน์สำหรับการนำทางไปยังสถานที่ โดยเฉพาะอย่างยิ่ง ควรใช้จุดเหล่านี้เป็นจุดเริ่มต้นหรือจุดสิ้นสุดเมื่อกำหนดเส้นทางบนเครือข่ายถนนจากหรือไปยังสถานที่
จุดนำทางแต่ละจุดจะมีค่าต่อไปนี้
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
สถานที่ใกล้เคียงที่น่าสนใจเพื่อช่วยให้ผู้ใช้เข้าใจสภาพแวดล้อมของจุดหมาย
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 เลือกที่จะแสดงผล และลำดับที่แสดงผล Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง
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 - การแยกอาคาร: ใช้