ไลบรารี pygmaps ของ Python เป็น wrapper สำหรับ Google Maps JavaScript API ช่วยให้ผู้ใช้ Python สามารถสร้างอินเทอร์เฟซแบบ matplotlib เพื่อสร้าง HTML และ JavaScript แล้วนำเสนอข้อมูลเพิ่มเติมบน Google Maps ได้
ไลบรารีที่จำเป็น
เราจะใช้เฉพาะไลบรารี pygmaps ซึ่งติดตั้งได้ผ่าน pip:
$ pip install pygmaps # Windows
$ sudo pip3 install pygmaps # Linux
ฟังก์ชันหลักของ pygmaps
โปรแกรมตัวอย่างนี้สาธิตการทำงานดังต่อไปนี้:
- สร้างแผนที่โดยระบุละติจูด ลองจิจูด และระดับซูม
- ตั้งกริดบนแผนที่โดยระจุดเริ่มต้นและสิ้นสุดของละติจูด/ลองจิจูด พร้อมขนาดกริด
- เพิ่มจุดบนแผนที่และแสดงด้วยสีที่กำหนด
- วาดวงกลมรอบจุดบนแผนที่ด้วยรัศมีเป็นเมตร
- วาดเส้นทางบนแผนที่โดยให้รายการพิกัดละติจูด/ลองจิจูด
โค้ดการใช้งาน
import pygmaps
# 1. สร้างแผนที่ (Constructor)
# พารามิเตอร์: latitude, longitude, zoom (0-20)
mymap = pygmaps.pygmaps(17.45, 78.29, 15)
# 2. ตั้งกริดบนแผนที่
# พารามิเตอร์: start-Lat, end-Lat, Lat-interval, start-Lng, end-Lng, Lng-interval
mymap.setgrids(17.45, 17.46, 0.001, 78.29, 78.30, 0.001)
# 3. เพิ่มจุดบนแผนที่
# พารามิเตอร์: latitude, longitude, [color] (ค่าเริ่มต้นแดง #FF0000)
mymap.addpoint(17.45, 78.29, "#FF0000")
# 4. เพิ่มจุดพร้อมรัศมี (วงกลม)
# พารามิเตอร์: latitude, longitude, radius (เมตร), [color]
mymap.addradpoint(17.45, 78.29, 150, "#0000FF")
# 5. วาดเส้นทาง
# พารามิเตอร์: path (list of coordinates), [color]
path = [(17.45, 78.29), (17.55, 78.39), (17.65, 78.49)]
mymap.addpath(path, "#00FF00")
# 6. สร้างไฟล์ HTML
mymap.draw('./mymap.html')
print('OK')
หมายเหตุสำคัญ
อาจพบ TypeError ตอนใช้ addpoint() หากส่งอาร์กิวเมนต์มากเกินไป (เช่น 5 อาร์กิวเมนต์แต่ฟังก์ชันรับ 3-4) สามารถแก้ไขได้โดยเพิ่มพารามิเตอร์ title ในฟังก์ชัน addpoint ของไฟล์ pygmaps.py
ผลลัพธ์
แผนที่ที่สร้างขึ้นจะแสดงกริด จุด สี วงกลม และเส้นทางรวมกันในหน้าเดียว ช่วยให้เห็นข้อมูลทางภูมิศาสตร์ได้ชัดเจนและสวยงาม