เรียนรู้ Flutter Google Map และ Geolocator และ การคำนวนระยะห่างระหว่าง จุด 2 จุด
เมื่อภรรยาอยากได้แอปลงเวลา บนมือถือ แบบ ระบุตำแหน่ง จะทำไงดีละ ? ก็…ต้องทำนะสิครับ เอาไงละ เริ่มไงดี
อันดับแรก Search Google ด้วยคำว่า flutter Google Map How to…. ก็มีข้อมูลมาเยอะเลย แต่จะเอาตัวไหนมาดูละ.. ประเด็นที่น่าสนใจ คือ พยายามหา Version ของ flutter ที่ใหม่ที่สุด เพราะ code สำหรับ Version เก่า อาจจะรันไม่ได้เนื่องจากติดปัญหา และต้องขอบคุณ อ.ตั้มสำหรับตำราเอามาอ้างอิงได้
เริ่มต้นยังไงดี
1.สร้าง Google Key API เพื่อนำมาใช้งาน เข้าไปที่ Google Maps Platform https://mapsplatform.google.com/ ในที่นี้จะไม่กล่าวถึงนะว่าทำไง เพราะมีคลิปสอนทำอยู่แล้วใน Youtube “วิธีสร้าง API Key สำหรับ Google Maps (อัพเดทล่าสุด)” โดย Designil
2. เตรียมข้อมูล SHA-1 จาก เครื่องคอมที่ใช้พัฒนาแอป (โดยไปรัน Android Studio แล้ว. เลือก Tab Gradle กดรูปช้างน้อย พิมพ์ต่อท้าย Gradle signingreport แล้วหด Enter จะเห็นเลข SHA-1
นำเลขนี้ไปใช้ตอนสร้าง API-Key สำหรับ ให้ Google Map อนุญาตให้ใช้งาน API แล้วเราจะได้ API-Key มาใช้งาน
ซึ่ง อย่านำเลขนี้ไปเปิดเผย เพราะคนอื่นจะนำไปใช้ฟรี แล้วเราเป็นคนเสียเงินค่าบริการ (ปล. ในปี 2022 Google Map บังคับให้ป้อนเลขบัตรเครดิสตอนที่เราสร้างระบบ Google Map Platform กรณีที่มีการใช้งานถึงข้อกำหนดจ่ายเงิน Google จะเรียกเก็บเงินมาที่เรา)
1. เรียกใช้งาน package google_map_flutter และ geolocator โดยเพิ่มลงใน ไฟล์ pubspec.yaml
2.ระบบ Android แก้ไขไฟล์ android->app->src->main->AndroidManifest.xml
นำเลข API Key มาใช้ใน App ของเรา โดยนำไปใวางไว้ในไฟล์
3.ระบบ IOS แก้ไขไฟล์ ios->Runner->AppDelegate.swift
เมื่อเตรียมทุกอย่างพร้อมก็เริ่มเขียน Code ได้เลย โดย Code ตัวอย่างได้ นำเอาวิธีการมาจาก
Youtube เรื่อง “Flutter : การดึง Location และแสดง Google Maps” โดย Phisan Sookkhee เผยแพร่เมื่อ 29 ม.ค.21 (ซึ่งในปีปัจจุบัน การเรียกใช้งานจะมีเรื่อง ความปลอดภัย และ Null Safety ดังนั้น จึงไม่สามารถนำโค๊ตมาใช้ได้ทั้งหมด ซึ่งได้มีการค้นคว้าเพิ่มเติมเพื่อให้ใช้งานกับ Flutter 3)
การออกแบบหน้าจอ จะเป้นแบบนี้
เปิดแอป กดปุ่มวงกลม แล้วเปิดหน้า Map
Source Code
1.ไฟล์ main.dart
สิ่งที่ได้จากการทดลองเขียนแอพนี้คือ การทำ Map การ Mark จุดพิกัดเริ่มต้นในการแสดงผล การตรวจสอบสิทธิ์การเข้าถึง GPS ของอุปกรณ์มือถือ และการคำนวนหาระยะห่างระหว่างจุด 2 จุด เพื่อจะได้นำไปเขียนแอพอื่นต่อไป
อ้างอิงเพิ่มเติม
แหล่งศึกษาหาข้อมูลเพิ่มเติมการทำ Marker Youtube
“Part – 5 || Flutter Add Multiple Marker On Google Map || Flutter Google Map Tutorials” โดย The Tech Brothers เป็นภาษาอังกฤษ สำเนียงอินเดีย..ฟังเพลินมาก 555+ (ขำๆ)