โดยปกติแล้วเมื่อผู้ใช้ขับรถไปยังจุดสนใจ (POI) ผู้ใช้จะต้องนำทางไปยังสถานที่ใกล้เคียง เช่น ที่จอดรถหรือจุดเข้าใช้งาน ลองนึกภาพคนขับรถที่ต้องไปสนามบินหรือห้างสรรพสินค้า เมื่อไปสนามบิน พนักงานขับรถจะพยายามไปให้ถึงอาคารผู้โดยสารหรือจุดส่ง แทนที่จะเป็นจุดศูนย์กลางของสนามบิน ในทำนองเดียวกัน ที่จอดรถข้างศูนย์การค้าอาจเป็นตัวเลือกที่ดีกว่ามากสำหรับผู้ใช้ที่มีรถยนต์ ในกรณีนี้ เมื่อสร้างแอปหรือบริการเพื่อแนะนำคนขับให้เริ่มจากค้นหาตำแหน่งที่กำลังจะไป จากนั้นเสนอตัวเลือกจุดหมายให้คนขับซึ่งอยู่ใกล้กับตำแหน่งนั้น แนวทางนี้ช่วยให้คุณมอบบริการที่ดีขึ้นแก่ลูกค้า และแสดงให้เห็นว่าคุณให้ความสำคัญกับเวลาของลูกค้า โดยใช้ความพยายามพัฒนาเพียงเล็กน้อยแต่ชาญฉลาดโดยใช้ประโยชน์จากข้อมูลตำแหน่งที่ Google Maps Platform ให้ไว้
เราจะแสดงวิธีที่คุณสามารถใช้ Places API และ Directions API ตามลำดับหรือใช้ร่วมกันเพื่อระบุตำแหน่งที่ถูกต้องที่จะจอดรถข้างจุดหมายของคุณ โซลูชันนี้มีจุดมุ่งหมายเพื่อขจัดความไม่แน่นอนและการโต้ตอบที่เกิดขึ้นหลายครั้งเพื่อหาจุดจอดรถขณะขับรถเมื่อเข้าใกล้จุดหมายมากขึ้น เรามาดูตัวอย่าง 2 กรณีที่นำกรณีเหล่านี้ไปใช้อย่างละเอียดกัน
ตัวอย่างที่ 1 - สถานที่ท่องเที่ยวที่ไม่มีที่จอดรถ
ลองเลือกตำแหน่งที่ไม่เชื่อมต่อกับริมถนนโดยตรงเพื่อให้ต้องมีการดึงข้อมูลเส้นทางแยกต่างหาก จุดหมายคือ นอเทรอดาม ในปารีส และใช้จุดเริ่มต้นจากสถานีรถไฟ Gare de l’Est (48.87697775149635, 2.359224780675)
คนขับจะออกจากสถานีไปทางเหนือของนอเทรอดามประมาณ 16 นาที มหาวิหารนอเทรอดามเป็นสถานที่ท่องเที่ยวที่มีชื่อเสียงบนเกาะที่มีสะพานเชื่อม ถนนวันเวย์บางสาย และไม่มีที่จอดรถขนาดใหญ่ในบริเวณใกล้เคียง ภารกิจนี้จึงดูเป็นความท้าทายที่น่าสนใจ
คำขอ Places API
ตัวอย่างคำขอ Places API นี้ใช้ "การค้นหาข้อความ" เพื่อหานอเทรอดาม ดูรายละเอียดในเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ "YOUR_KEY" ในตัวอย่างเหล่านี้เป็นคีย์ API ที่คุณมีสำหรับ Google Maps Platform Places และ Directions API ที่เปิดใช้ใน Google Cloud Console ดูคำอธิบายโดยละเอียดเพิ่มเติมได้ในเอกสารการเริ่มต้นใช้งาน Google Maps Platform
https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014®ion=fr&key=YOUR_KEY
การตอบกลับคำขอข้างต้นจะให้พิกัดละติจูดและลองจิจูดต่อไปนี้
"results" : [ { "formatted_address" : "Notre Dame, Paris", "geometry" : { "location" : { "lat" : 48.8527288, }, ...
คุณจะเห็นพิกัดของน็อทร์ดามอย่างแน่ชัด
|
|
ในฐานะนักพัฒนาซอฟต์แวร์หรือผู้ให้บริการ ควรแจ้งคนขับโดยอัตโนมัติว่า "หาที่จอดรถใกล้ๆ นอเทรอดามไหม" ประสบการณ์ของผู้ใช้จะแตกต่างกันไปขึ้นอยู่กับอุปกรณ์และหน้าจอ แต่ข้อความป๊อปอัปเล็กๆ ที่หายไปในเวลาสั้นๆ ก็น่าจะเป็นประโยชน์สำหรับการพิจารณาในกรณีนี้ หากต้องการค้นหาที่จอดรถใกล้นอเทรอดาม ให้ค้นหาข้อความ Places API โดยระบุพารามิเตอร์ประเภท "ที่จอดรถ" และรัศมี "300" ตัวอย่างนี้จะให้น้ำหนักผลลัพธ์กับพื้นที่จอดรถภายในระยะ 300 เมตรของนอเทรอดาม
https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635®ion=fr&type=parking&radius=300&key=YOUR_KEY
ผลลัพธ์แรกคือ “Parking Saemes Maubert-Lagrange” ที่ 48.850591, 2.3486436 เราจะใช้ตำแหน่งนี้ในส่วนถัดไปที่เรากำลังส่งคำขอ Directions API กัน
คำขอ Directions API
หากต้องการค้นหาเส้นทางจากสถานีไปยังที่จอดรถใกล้ๆ มหาวิหารน็อทร์ดาม คุณจะต้องส่งคำขอ Directions API เพียงตั้งค่าพารามิเตอร์ต้นทางและปลายทาง ดูตัวเลือกอื่นๆ ในเอกสารสำหรับนักพัฒนาซอฟต์แวร์
https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY
โดยทั่วไปการตอบสนองของ Direction API จะมีคำแนะนำเส้นทางหลายรายการ แต่ละเส้นทางประกอบด้วย "ขา" หลายขา และมี "ก้าว" หลายก้าวที่แสดงระยะทางและพิกัดในการเดินทาง หากต้องการค้นหาพิกัดสุดท้ายที่เข้าถึงได้ด้วยรถยนต์ ให้ใช้ช่อง "end_location" ของขั้นตอนสุดท้ายของขาสุดท้ายในเส้นทางที่คุณเลือก
สถานที่นี้อาจดูเหมือนไม่ใช่ตัวเลือกแรก แต่หากคุณดูแผนที่หรือ Google Street View คุณจะพบว่าสถานที่นี้อยู่ในระยะเดินสั้นๆ ประมาณ 6-7 นาทีจากนอเทรอดาม
เส้นทางเดินเท้าจากพื้นที่จอดรถไปยังนอเทรอดาม
สรุปสำหรับตัวอย่างที่ 1
จะเห็นได้ว่าการค้นหาพื้นที่จอดรถสำหรับรถต้องใช้การเรียก API เพียงไม่กี่ครั้งและแสดงคำแนะนำให้คนขับทราบ วิธีนี้จะช่วยให้ผู้ใช้ประหยัดเวลาได้เนื่องจากไม่ได้ขับรถเที่ยวเดียวบนถนนวันเวย์หรือพยายามหาจุดลงรถในสถานที่ท่องเที่ยวที่มีคนแน่น โดยสรุปแล้ว เราได้ส่งคำขอ API ต่อไปนี้
- คำขอ Places API เพื่อค้นหาพิกัดในนอเทรอดาม
- คำขอ Places API เพื่อค้นหาพื้นที่จอดรถภายในระยะ 300 เมตรของพิกัดเหล่านั้น
- คำขอ Directions API เพื่อค้นหาเส้นทางไปยังพื้นที่จอดรถ
ตัวอย่างที่ 2 - การไปยังเทอร์มินัลในสนามบินขนาดใหญ่
"types" : [ "airport", "point_of_interest", "establishment" ],
อย่างไรก็ตาม ใครก็ตามที่ได้ไปสนามบินขนาดใหญ่จะทราบดีว่าการเปลี่ยนเครื่องปลายทางต้องใช้เวลานานหากคุณมาถึงผิดสถานที่ ในกรณีนี้ เนื่องจากประเภทผลการค้นหาคือ "สนามบิน" ระบบจึงควรติดตามคำค้นหาโดยอัตโนมัติเพื่อค้นหา "เทอร์มินัล" โดยใช้ตำแหน่งของสนามบินฮีทโธรว์ (51.47016927594547, -0.45432767852489075) ในตัวอย่าง คุณยังสามารถดูการจำกัดขอบเขตการค้นหาเป็น 3000 เมตรได้อีกด้วย
https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075®ion=gb&key=YOUR_KEY&radius=3000
การค้นหาด้านบนจะแสดงรายการของเทอร์มินัลและจุดส่งแต่ละจุดของเทอร์มินัลเหล่านั้น จากรายการผลการค้นหา เราพบ "London Heathrow Airport Terminal 5" และรหัสสถานที่ของอาคาร:
"place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",
ด้วยการใช้พารามิเตอร์ “place_id” เราสามารถบอก Directions API ว่าเรากำลังพยายามเข้าถึงสถานที่หนึ่งๆ แทนที่จะระบุพิกัดที่กำหนดเอง
https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY
เหมือนกับในตัวอย่างก่อนหน้านี้ การอ่านขั้นตอนทั้งหมดในการตอบกลับ JSON จะทำให้คุณพบส่วนสุดท้ายของเส้นทางและพิกัดละติจูดและลองจิจูดของวันที่สิ้นสุด (51.47079979999999,-0.4896765)
สรุปสำหรับตัวอย่างที่ 2
เช่นเดียวกับในตัวอย่างก่อนหน้านี้ ความพยายามในการพัฒนาเพื่อให้คำแนะนำที่ดีขึ้นแก่คนขับมีน้อยมาก และคุณประโยชน์ที่ประหยัดเวลาให้คนขับก็สามารถวัดผลได้อย่างง่ายดาย เราได้รับคำขอดังต่อไปนี้:
- คำขอ Places API เพื่อค้นหาสนามบินฮีทโธรว์
- คำขอ Places API เพื่อค้นหาอาคารผู้โดยสารทั้งหมดที่อยู่ใกล้กับพิกัดสนามบินฮีทโธรว์
- คำขอ Directions API เพื่อรับเส้นทางไปยังเทอร์มินัล 5
บทสรุป
จะเห็นได้ว่าความพยายามในการพัฒนาที่ต้องใช้ในการให้บริการระดับพรีเมียมแก่ลูกค้าที่เดินทางโดยรถยนต์นั้นค่อนข้างเล็ก และทำให้คุณแสดงให้เห็นได้โดยง่ายว่าคุณคิดอย่างไรกับความต้องการของลูกค้า
สำหรับการพัฒนา คุณสามารถใช้ไลบรารีและเครื่องมือต่างๆ ที่มีอยู่เพื่อช่วยสร้างบริการสำหรับลูกค้าของคุณได้ ลองดูที่เก็บ GitHub สำหรับ Google Maps Platform ที่เผยแพร่ต่อสาธารณะของเรา
การดำเนินการถัดไป
ผู้เขียนหลัก
Mikko Toivanen | วิศวกรโซลูชัน Google Maps Platform