folium包是建立在Python生态系统的数据处理优势和JavaScript语言的Leaflet.js库的地图绘制优势之上的。用户可以使用Python来处理数据,然后通过folium包在Leaflet.js地图上可视化数据。folium包是在使用Python进行处理后在Leaflet.js地图上可视化数据的简便方法。

所需模块和库

Folium: 用户可以使用以下命令安装Folium包。

pip install folium  

Geopy: Python的geopy模块使Python用户能够定位地球表面上的地标、城市和国家的坐标。要安装geopy模块,用户可以使用以下命令:

pip install geopy  

在成功安装了这两个库之后,我们可以按照下面的步骤绘制谷歌地图。

步骤1:创建基本地图

用户可以使用以下程序创建基本地图:

import os  
# First, import folium package  
import folium  
from geopy.geocoders import Nominatim as NT  
# Initialize Nominatim API  
geo_locator = NT(user_agent = "geoapiExercises")  
# write the place  
place_1 = "Yemen"  
  
location_1 = geo_locator.geocode(place_1)  
# now, it will search for the location by using the latitude and longitude, with zoom_start = 15  
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],  
                                        zoom_start = 15 )  
# At last, open the base map  
user_map1  

输出:

1.png

步骤2:添加圆形标记

用户可以使用以下代码标记区域并添加弹出文本:

import folium  
   
from geopy.geocoders import Nominatim as NT  
  
geo_locator = NT(user_agent = "geoapiExercises")  
  
place_1 = "Yemen"  
  
location_1 = geo_locator.geocode(place_1)  
  
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],  
                                        zoom_start = 15 )  
   
# CircleMarker with radius  
folium.CircleMarker(location = [location_1.longitude, location_1.latitude],  
                    radius = 45, popup = ' YEMEN ').add_to(user_map1)  
   
# Now, open the Map with circular Mark  
user_map1  

输出:

2.png

步骤3:为降落伞样式标记添加简单标记和弹出文本

用户可以使用以下代码。

示例 -

import os  
import folium  
   
from geopy.geocoders import Nominatim as NT  
  
geo_locator = NT(user_agent = "geoapiExercises")  
  
place_1 = "Yemen"  
  
location_1 = geo_locator.geocode(place_1)  
  
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],  
                                        zoom_start = 15)  
#Now, we will pass the string in popup parameter  
folium.Marker([location_1.longitude, location_1.latitude],  
               popup = ['YEMEN']).add_to(user_map1)  
# now, open the map   
user_map1  

输出:

3.png

步骤4:在地图上添加线条

用户可以使用以下代码在地图上添加连接两个坐标的线条。

示例 -

# First, import folium package  
import folium  
import os   
from geopy.geocoders import Nominatim as NT  
  
geo_locator = NT(user_agent = "geoapiExercises")  
  
place_1 = "Aden"  
place_2 = "Yemen"  
location_1 = geo_locator.geocode(place_1)  
location_2 = geo_locator.geocode(place_2)  
user_map1 = folium.Map(location = [location_1.longitude, location_1.latitude],  
                                        zoom_start = 6)  
   
folium.Marker([location_1.longitude, location_1.latitude],  
               popup = ['Aden']).add_to(user_map1)  
   
folium.Marker([location_2.longitude, location_2.latitude],  
              popup = 'Yemen').add_to(user_map1)  
   
# Now, we will add the line on the map by using Polyline method .  
# it will connect both coordinates by the line  
   
folium.PolyLine(locations = [[location_1.longitude, location_1.latitude], [location_2.longitude, location_2.latitude]],  
                line_opacity = 0.5).add_to(user_map1)  
# now, open the map  
user_map1  

输出:

4.png

解释

我们使用geopy库获取了位置的纬度和经度。然后,我们使用folium包的folium.map方法创建了Google地图的基础。

在步骤2中,我们使用folium.CircleMarker标记了位置上的圆形标记,并添加了弹出文本。在步骤3中,我们使用folium.Marker在指定位置上添加了降落伞样式的标记。在最后一步中,我们使用folium.PolyLine连接了地图上两个不同位置上的两个标记。

结论

在本教程中,我们展示了用户如何绘制谷歌地图,并在地图上添加不同的必要功能,如圆形标记、降落伞标记、弹出文本以及连接地图上两个坐标的线条。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程