ไลบรารี 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: https://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: https://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: https://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
ผลลัพธ์
ดังที่คุณเห็นจากแผนที่ด้านบน เราสามารถมองเห็นฟังก์ชันต่างๆ มากมายในแผนที่เดียว