ไลบรารี Python pygmaps จัดเตรียม wrapper สำหรับ google maps javascript api ด้วยไลบรารี python ผู้ใช้สามารถสร้าง matplotlib เช่นอินเทอร์เฟซเพื่อสร้าง html และ javascript จากนั้นสามารถแสดงข้อมูลเพิ่มเติมทั้งหมดที่ผู้ใช้ต้องการเพิ่มบน Google Maps
ห้องสมุดที่จำเป็น
เราจะใช้ไลบรารี / แพ็คเกจ pygmaps เท่านั้น คุณสามารถติดตั้งไลบรารี pygmaps โดยใช้ pip เช่น:
$pip install pygmaps (windows os) $sudo pip3 install pygmaps (linux os)
เราจะเขียนโปรแกรมที่จะแสดง -
-
สร้างแผนที่โดยใช้ pygmaps โดยระบุระดับที่ยาว ละติจูด และระดับการซูม
-
ตั้งค่ากริดบนแผนที่โดยระบุจุดเริ่มต้นและจุดสิ้นสุดของ long &lat สำหรับกริดและขนาดกริด
-
เพิ่มจุดบนแผนที่และแสดงโดยกำหนดสีให้กับจุดนั้น
-
วาดวงกลมรอบจุดบนแผนที่โดยมีรัศมีเป็นเมตร
-
วาดเส้นทางลงในแผนที่โดยระบุรายการจุดยาวและจุดสุดท้าย
ด้านล่างนี้คือการใช้งานการรับฟังก์ชันต่างๆ ผ่าน pygmaps
import pygmaps
########## CONSTRUCTOR: pygmaps.maps(latitude, longitude, zoom) ##############################
# DESC:initialize a map with latitude and longitude of center point
#and map zoom level "15"
# PARAMETER1:latitude (float) latittude of map center point
# PARAMETER2:longitude (float) latittude of map center point
# PARAMETER3:zoom (int) map zoom level 0~20
# RETURN:the instant of pygmaps
#========================================================================================
mymap = pygmaps.pygmaps(17.45,78.29, 15)
########## FUNCTION: setgrids(start-Lat, end-Lat, Lat-interval, start-Lng, end-Lng, Lng-interval) ######
# DESC:set grids on map
# PARAMETER1:start-Lat (float), start (minimum) latittude of the grids
# PARAMETER2:end-Lat (float), end (maximum) latittude of the grids
# PARAMETER3:Lat-interval (float) grid size in latitude
# PARAMETER4:start-Lng (float), start (minimum) longitude of the grids
# PARAMETER5:end-Lng (float), end (maximum) longitude of the grids
# PARAMETER6:Lng-interval (float) grid size in longitude
# RETURN:no returns
#========================================================================================
mymap.setgrids(17.45, 17.46, 0.001, 78.29,78.30, 0.001)
########## FUNCTION: addpoint(latitude, longitude, [color])#############################
# DESC:add a point into a map and dispaly it, color is optional default is red
# PARAMETER1:latitude (float) latitude of the point
# PARAMETER2:longitude (float) longitude of the point
# PARAMETER3:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: http://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
mymap.addpoint(17.45,78.29, "#FF0000","Hello")
########## FUNCTION: addradpoint(latitude, longitude, radius, [color])##################
# DESC: add a point with a radius (Meter) - Draw cycle
# PARAMETER1:latitude (float) latitude of the point
# PARAMETER2:longitude (float) longitude of the point
# PARAMETER3:radius (float), radius in meter
# PARAMETER4:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: http://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
mymap.addradpoint(17.45,78.29, 150, "#0000FF")
########## FUNCTION: addpath(path,[color])##############################################
# DESC:add a path into map, the data struceture of Path is a list of points
# PARAMETER1:path (list of coordinates) e.g. [(lat1,lng1),(lat2,lng2),...]
# PARAMETER2:color (string) color of the point showed in map, using HTML color code
#HTML COLOR CODE: http://www.computerhope.com/htmcolor.htm
#e.g. red "#FF0000", Blue "#0000FF", Green "#00FF00"
# RETURN:no return
#========================================================================================
path = [(17.45,78.29),
(17.55, 78.39),
(17.65,78.49),
]
mymap.addpath(path,"#00FF00")
########## FUNCTION: draw(file)######################################################
# DESC:create the html map file (.html)
# PARAMETER1:file (string) the map path and file
# RETURN:no return, generate html file in specified directory
#========================================================================================
mymap.draw('./mymap.html')
print('OK') หมายเหตุ :คุณอาจพบ Typeerror ขณะเรียกใช้ฟังก์ชัน mymap.addpoint เช่น
TypeError :addpoint() ใช้อาร์กิวเมนต์ตำแหน่งตั้งแต่ 3 ถึง 4 รายการ แต่ได้รับ 5 รายการ
เพื่อหลีกเลี่ยงไม่ให้ฉันได้เพิ่มอาร์กิวเมนต์ชื่อในฟังก์ชัน addpoint ของแพ็คเกจ pygmaps.py
ผลลัพธ์

ดังที่คุณเห็นจากแผนที่ด้านบน เราสามารถมองเห็นฟังก์ชันต่างๆ มากมายในแผนที่เดียว