คุณต้องระบุตำแหน่งต่ำสุดของต้นทางและปลายทางของเส้นทางเพื่อคำนวณเส้นทาง คุณกำหนดสถานที่เหล่านี้เป็นจุดอ้างอิงบนเส้นทาง
นอกจากต้นทางและปลายทางแล้ว คุณสามารถระบุประเภทเส้นทางและวิธีจัดการจุดอ้างอิงสำหรับเส้นทางได้ด้วย สำหรับข้อมูลเพิ่มเติมและตัวอย่าง โปรดดูหัวข้อเหล่านี้:
- ระบุทิศทางและทิศทางของรถบนถนน
- ระบุจุดอ้างอิงระดับกลาง
- กำหนดจุดแวะระหว่างเส้นทาง
- กำหนดจุดสำหรับเส้นทางที่จะผ่าน
- เพิ่มประสิทธิภาพลำดับการแวะพักในเส้นทาง
ระบุตำแหน่งของเส้นทาง
คุณแสดงสถานที่ตั้งโดยการสร้างออบเจ็กต์ Waypoint (REST) หรือ Waypoint (gRPC) ในคำจำกัดความจุดอ้างอิง คุณสามารถระบุตำแหน่งได้ด้วยวิธีต่อไปนี้
- รหัสสถานที่ (แนะนำ)
- พิกัดละติจูด/ลองจิจูด
- สตริงที่อยู่ ("Chicago, IL" หรือ "Darwin, NT, Australia")
- Plus Code
คุณจะระบุตำแหน่งของจุดอ้างอิงทั้งหมดในคำขอด้วยวิธีเดียวกัน หรือจะผสมผสานกันก็ได้ ตัวอย่างเช่น คุณสามารถใช้พิกัดละติจูด/ลองจิจูดสำหรับจุดอ้างอิงต้นทาง และใช้รหัสสถานที่สำหรับจุดอ้างอิงปลายทางได้
ใช้รหัสสถานที่แทนพิกัดละติจูด/ลองจิจูดหรือสตริงที่อยู่เพื่อประสิทธิภาพและความแม่นยำ รหัสสถานที่มีความโจ่งแจ้งโดยไม่ซ้ำกันและให้ประโยชน์ในการเข้ารหัสพิกัดสำหรับการกำหนดเส้นทาง เช่น จุดเข้าใช้งานและตัวแปรการเข้าชม ซึ่งช่วยหลีกเลี่ยงสถานการณ์ต่อไปนี้ที่อาจเป็นผลมาจากวิธีอื่นๆ ในการระบุตำแหน่ง
- การใช้พิกัดละติจูด/ลองจิจูดอาจทำให้มีการสแนปตำแหน่งไปยังถนนที่ใกล้ที่สุดกับพิกัดเหล่านั้น ซึ่งอาจไม่ใช่จุดเข้าใช้งานของที่พัก หรือแม้แต่ถนนที่นำทางไปยังจุดหมายอย่างรวดเร็วหรืออย่างปลอดภัย
- Routes API จะต้องระบุพิกัดภูมิศาสตร์ในสตริงที่อยู่เพื่อแปลงเป็นพิกัดละติจูด/ลองจิจูดก่อนจึงจะคำนวณเส้นทางได้ Conversion นี้อาจส่งผลต่อประสิทธิภาพ
ระบุสถานที่ตั้งเป็นรหัสสถานที่
คุณใช้รหัสสถานที่เพื่อระบุตำแหน่งของจุดอ้างอิงได้ เนื่องจากพิกัดละติจูดและลองจิจูดจะถูกพอดีกับถนน คุณจึงอาจพบว่ารหัสสถานที่ให้ผลลัพธ์ที่ดีกว่าในบางสถานการณ์
ดึงรหัสสถานที่จาก Geocoding API และ Places API (รวมถึงการเติมข้อมูลอัตโนมัติเกี่ยวกับสถานที่) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานที่ โปรดดูภาพรวมของรหัสสถานที่
ตัวอย่างต่อไปนี้ใช้พร็อพเพอร์ตี้ placeId
เพื่อส่งรหัสสถานที่สำหรับทั้ง origin
และ destination
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
ระบุตำแหน่งเป็นพิกัดละติจูดและลองจิจูด
หากต้องการระบุตำแหน่งในการชี้ทาง ให้ระบุตำแหน่ง (REST) หรือตำแหน่ง(gRPC) โดยใช้พิกัดละติจูด/ลองจิจูด
ตัวอย่างเช่น ระบุจุดอ้างอิงสำหรับเส้นทาง origin
และ destination
โดยใช้พิกัด latitude
และ longitude
ดังนี้
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
ระบุตำแหน่งเป็นสตริงที่อยู่
สตริงที่อยู่เป็นที่อยู่ตามตัวอักษรที่แสดงด้วยสตริง (เช่น "1600 Amphitheatre Parkway, Mountain View, CA") การระบุพิกัดทางภูมิศาสตร์คือกระบวนการแปลงสตริงที่อยู่ให้เป็นพิกัดละติจูดและลองจิจูด (เช่น ละติจูด 37.423021 และลองจิจูด -122.083739)
เมื่อคุณส่งสตริงที่อยู่เป็นตำแหน่งของจุดอ้างอิง Routes API จะเข้ารหัสพิกัดภูมิศาสตร์ภายในสตริงเพื่อแปลงเป็นพิกัดละติจูดและลองจิจูด
ตัวอย่างเช่น หากต้องการคำนวณเส้นทางที่คุณระบุการชี้ทางสำหรับเส้นทาง origin
และ destination
โดยใช้สตริงที่อยู่ ให้ทำดังนี้
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
ในตัวอย่างนี้ Routes API จะเข้ารหัสที่อยู่ทั้ง 2 รายการเพื่อแปลงเป็นพิกัดละติจูดและลองจิจูด
หากค่าที่อยู่ไม่ชัดเจน Routes API อาจเรียกใช้การค้นหาเพื่อแยกแยะจากที่อยู่ที่คล้ายกัน เช่น "1st Street" อาจเป็นค่าที่สมบูรณ์หรือค่าบางส่วนสำหรับ "1st street NE" หรือ "1st St SE" ผลลัพธ์นี้อาจแตกต่างจาก Geocoding API ที่แสดงผล คุณสามารถหลีกเลี่ยงการตีความผิดที่อาจเกิดขึ้นได้ด้วยรหัสสถานที่
ตั้งค่าภูมิภาคสำหรับที่อยู่
หากคุณส่งสตริงที่อยู่ที่ไม่สมบูรณ์เป็นตำแหน่งของจุดอ้างอิง API อาจใช้พิกัดละติจูด/ลองจิจูดที่เข้ารหัสพิกัดภูมิศาสตร์ไม่ถูกต้อง ตัวอย่างเช่น คุณส่งคำขอโดยระบุ "Toledo" เป็นต้นทาง และ "Madrid" เป็นปลายทางสำหรับเส้นทางขับรถ
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
ในตัวอย่างนี้ "โตเลโด" จะตีความว่าเป็นเมืองในรัฐโอไฮโอในสหรัฐอเมริกา ไม่ใช่ในสเปน คำขอจึงแสดงผลอาร์เรย์ว่างเปล่า ซึ่งหมายความว่าไม่มีเส้นทาง
{ [] }
คุณกำหนดค่า API ให้แสดงผลการค้นหาที่มีความลำเอียงไปยังภูมิภาคใดภูมิภาคหนึ่งได้โดยการใส่พารามิเตอร์ regionCode
พารามิเตอร์นี้ระบุรหัสภูมิภาคเป็น
ccTLD ("โดเมนระดับบนสุด")
ค่าแบบ 2 อักขระ รหัส ccTLD ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นที่สำคัญบางอย่าง เช่น ccTLD ของสหราชอาณาจักรคือ "uk"
(.co.uk) ขณะที่รหัส ISO 3166-1 คือ "gb" (ทางเทคนิคสำหรับเอนทิตีของ "สหราชอาณาจักรและไอร์แลนด์เหนือ")
คำขอเส้นทางสำหรับ "โตเลโด" ไป "มาดริด" ที่มีพารามิเตอร์ regionCode
แสดงผลลัพธ์ที่เหมาะสมเนื่องจาก "โตเลโด" ตีความว่าเป็นเมืองในสเปน
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
การตอบสนองในปัจจุบันมีเส้นทางที่คำนวณจากเมืองโตเลโด ประเทศสเปนไปมาดริด ประเทศสเปน
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
ระบุสถานที่ตั้งเป็น Plus Code
มีคนจำนวนมากไม่มีที่อยู่ที่แน่นอน ซึ่งอาจทำให้ได้รับของที่จัดส่งได้ยาก หรือผู้ที่มีที่อยู่อาจอยากไปรับพัสดุที่สถานที่ตั้งอื่นๆ มากกว่า เช่น ทางเข้าหลังบ้านหรือแท่นชาร์จ
Plus Codes เป็นเหมือนที่อยู่ของผู้คนหรือสถานที่ที่ไม่มีที่อยู่จริง Plus Codes ไม่ใช่ที่อยู่ที่ประกอบด้วยชื่อถนนและบ้านเลขที่ แต่จะเป็นชุดพิกัดละติจูด/ลองจิจูดและแสดงเป็นตัวเลขและตัวอักษร
Google พัฒนา Plus Codes เพื่อมอบประโยชน์ของที่อยู่ให้แก่ทุกคนและทุกสิ่ง Plus Codes เป็นการอ้างอิงตำแหน่งที่เข้ารหัสซึ่งได้รับจากพิกัดละติจูด/ลองจิจูด ซึ่งแสดงพื้นที่ 1/8000 ขององศา 1/8000 ขององศา (ประมาณ 14 ม. x 14 ม. ที่เส้นศูนย์สูตร) หรือเล็กกว่า คุณสามารถใช้ Plus Codes แทนที่อยู่ของสถานที่ซึ่งไม่มีที่อยู่จริง หรือที่อาคารไม่มีหมายเลขกำกับ หรือไม่มีชื่อถนน
Plus Codes ต้องมีรูปแบบเป็นโค้ดร่วมหรือรหัสผสม
- รหัสส่วนกลางประกอบด้วยรหัสพื้นที่ 4 อักขระและรหัสภายในความยาว 6 อักขระขึ้นไป
ตัวอย่างเช่น สำหรับที่อยู่ "1600 Amphitheatre Parkway, Mountain View, CA" รหัสสากลคือ "849V" และรหัสท้องถิ่นคือ "CWC8+R9" จากนั้นก็ใช้ Plus Codes ทั้ง 10 อักขระเพื่อระบุค่าตำแหน่งเป็น "849VCWC8+R9"
- รหัสแบบผสมประกอบด้วยรหัสภายในความยาว 6 อักขระขึ้นไปรวมกับตำแหน่งที่ชัดเจน
ตัวอย่างเช่น ที่อยู่ "450 Serra Mall, Stanford, CA 94305, USA" มีรหัสท้องถิ่นเป็น "CRHJ+C3" สำหรับที่อยู่แบบผสม ให้รวมรหัสท้องถิ่นเข้ากับเมือง รัฐ รหัสไปรษณีย์ และส่วนประเทศของที่อยู่ในรูปแบบ "CRHJ+C3 Stanford, CA 94305, USA"
เช่น คำนวณเส้นทางโดยการระบุจุดอ้างอิงสำหรับเส้นทาง
origin
และdestination
โดยใช้ Plus Codes ดังนี้{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
Plus Codes ใช้ได้ใน Google Maps Platform API ซึ่งรวมถึง Place Autocomplete, Place Details, Directions API และ Geocoding API เช่น คุณสามารถใช้ Geocoding API เพื่อกลับพิกัดภูมิศาสตร์ของสถานที่ที่ระบุด้วยพิกัดละติจูด/ลองจิจูดเพื่อระบุ Plus Code ของตำแหน่งนั้นๆ