Python pygmaps 라이브러리는 google maps javascript API에 대한 래퍼를 제공합니다. 이 라이브러리 python을 사용하면 html 및 javascript를 생성하는 인터페이스와 같은 matplotlib를 만든 다음 사용자가 Google 지도 위에 추가하고 싶은 모든 추가 정보를 표시할 수 있습니다.
필수 라이브러리
우리는 pygmaps 라이브러리/패키지를 사용할 것입니다. 다음과 같이 pip를 사용하여 pygmaps 라이브러리를 설치할 수 있습니다.
$pip install pygmaps (windows os) $sudo pip3 install pygmaps (linux os)
다음을 표시하는 프로그램을 작성할 것입니다. -
-
긴, 위도 및 확대/축소 수준을 제공하여 pygmaps를 사용하여 지도를 만듭니다.
-
그리드와 그리드 크기에 대한 시작 및 끝 경도 및 위도 포인트를 제공하여 지도에 그리드를 설정합니다.
-
지도에 점을 추가하고 색상을 설정하여 표시합니다.
-
반경이 미터인 지도의 한 지점 주위에 원을 그립니다.
-
경도 및 위도 포인트 목록을 제공하여 지도에 경로를 그립니다.
다음은 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')
참고 :mymap.addpoint 함수를 실행하는 동안
와 같은 Typeerror가 발생할 수 있습니다.유형 오류 :addpoint()는 3~4개의 위치 인수를 취하지만 5개가 주어졌습니다.
이를 피하기 위해 pygmaps.py 패키지의 addpoint 함수에 title 인수를 추가했습니다.
출력
위의 지도에서 볼 수 있듯이 하나의 지도에서 여러 기능을 시각화할 수 있습니다.