Android: การเรียกใช้ Google map นำทาง

สวัสดีครับ วันนี้มาพูดเรื่องการทำให้แอพพลิเคชั่นของเราเรียก Google Map มาช่วยนำทาง มีคนรู้จักของตัวผมหลายๆคนมีความสนใจที่จะทำแอพพลิเคชั่นเพื่อนำทางไปยังสถานที่ต่าง อ่ะก่อนที่เราจะเข้าเนื้อหาสาระผมขอเกริ่นก่อนว่าวิธีนี้ง่ายมากๆเลย

 

ทำความรู้จัก Google Map บน Android

พ่อแม่พี่น้องและเพื่อนๆหลายๆคนที่เริ่มพัฒนาแอพพลิเคชั่นบนแอนดอร์ย น่าจะเคยลองเรียกใช้ Map API จาก Google Play มาบ้างแล้วแล้วพบปัญหา เช่น เราจะปักหมุดอย่างไร, เราจะลากเส้นเพื่อนนำทางอย่างไร และ อื่นๆ บลาๆๆ วิธีนี้เป็นวิธีที่ง่ายต่อการจัดการ map มากๆเอ๋หรือจะเรียกว่าไม่ต้องจัดการเลย (แต่มันไม่ใช่ทางออกของทุกปัญหาของ Map นะจริงๆมันอยู่ที่ว่าแอพพลิเคชั่นของคุณมีความต้องการใช้แผนที่แค่ไหน) วิธีนั้นก็คือๆๆ การเรียก Intent ไปยัง Google Map เลยพูดง่ายๆ เรียก Google Map มาทำงานนั้นหละ.

 

ข้อดีข้อเสียของวิธีนี้

ข้อดีของการ Intent ไปยัง Google Map

– มันเขียนโค้ดง่ายมาก

– มีฟังก์ชั่นในการนำทาง ปักหมุดให้เราเรียบร้อย

ข้อเสียบ้างนะ

– คุณไม่สามารถเขียนฟังก์ชั่นส่วนตัวไปทำงานบน Google Map ได้

สรุป!! มันจะดีและง่ายมากเลยถ้าคุณต้องการแค่ ปักหมุดและนำทาง

 

โค้ดตัวอย่าง

สามารถดาวน์โหลดโปรเจ็คตัวอย่างได้ที่ -> IntentMap

 

อธิบายโค้ดตัวอย่าง

Intent Google Map

MainActivity.java

ในคลาส MainActivity เมื่อเรากดปุ่ม “GO TO MAP” จะทำการ กำหนดละติจูดและลองจิจูด หลังจากนั้นก็จะก็จะทำการ Intent ไปยัง URL ของ Google Map เมื่อแผลที่เปิดขึ้นมาก้จะพบจุดเป้าหมายเราสามารถใช้ฟังก์ชั่น Google Map  ในการนำทางได้เลย

         String lat ="7.0070307";  // ละติจูดสมมุติ
          String lng ="100.5019775";  // ลองจิจูดสมมุติ
         String strUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + "Label which you want" + ")";  
         Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(strUri));  
         intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");  
         startActivity(intent);  

ง่ายใช่ไหมหละครับ เมื่อเราต้องการเปลี่ยนสถานที่เราก็ทำการเปลี่ยนค่าละติจูดและลองจิจูดก็เรียบร้อยแล้ว เอาหล่ะไปดูผลลัพธ์จากการรันแอพพลิเคชั่นกันดีกว่า

 

ผลลัพธ์ตัวอย่าง

Screenshot_2015-03-20-13-05-39Screenshot_2015-03-20-13-05-31Screenshot_2015-03-20-13-05-50

About octoboy


Android Developer, Study Master degree of Computer Engineering at Prince of Songkla university.