使用 gmplot 包在 Python 中绘制 Google Map

2025年1月11日 | 阅读 6 分钟

有多种方法可以在谷歌地图上绘制地理坐标。然而,在需要将其保存到本地文件的场景中,一种更好的方法是使用一个名为 gmplot 的 Python 模块。

Python 的 gmplot 库允许我们在谷歌地图上绘制数据。gmplot 库的接口类似于 matplotlib,用于生成 HTML 和 JavaScript,以在谷歌地图上提供用户期望的所有附加数据。

如何安装 Python gmplot 库?

为了安装 Python 模块,我们需要 'pip',这是一个用于管理从受信任的公共存储库安装模块所需软件包的框架。一旦我们有了 'pip',我们就可以使用 Windows 命令提示符 (CMD) 或终端中的命令来安装 gmplot 库,如下所示:

语法

验证安装

模块安装完成后,我们可以通过创建一个空的 Python 程序文件并写入如下 import 语句来验证它:

文件:verify.py

现在,保存上述文件并在终端中使用以下命令执行它:

语法

如果上面的 Python 程序文件没有返回任何错误,则表示模块已成功安装。但是,如果出现异常,请尝试重新安装该库,也建议参考该库的官方文档。

使用 Python gmplot 库

gmplot 库提供了不同的绘图方法,可以非常简单地创建探索性地图视图。gmplot 库非常灵活,可以用来创建谷歌地图,因为我们可以直接利用它来生成 HTML。

完成此操作的一些方法如下:

案例 1:我们可以使用 gmplot 库创建基础地图。

案例 2:我们还可以使用 gmplot 在谷歌地图上绘制多边形。

案例 3:我们还可以分散谷歌地图上的点并在给定坐标之间绘制一条线。

案例 4:我们还可以将热力图和散点图绘制在一个图上,以表示地震。

让我们详细了解上述方法的用法。

使用 gmplot 库创建基础地图

gmplot 库允许我们在 Python 中创建基础地图。我们可以通过写入该位置的纬度和经度值以及缩放分辨率来将地图定位到特定位置。

让我们看下面的例子来演示这一点:

示例 1.1

输出

Plotting Google Map using gmplot package in Python

说明

在上面的代码片段中,我们导入了 gmplot 库。然后,我们通过创建 GoogleMapPlotter 类的对象来放置地图。最后,我们使用 GoogleMapPlotter 类的 draw() 方法将地图保存在目录中的 HTML 文件中。

注意:正如我们从上面的输出屏幕可以观察到的,我们注意到服务仅用于开发目的。原因是,如果我们通过 API 访问谷歌地图服务,现在它不再是免费的。我们需要添加 API_KEY 才能看到更好的谷歌地图视图。

让我们看下面的例子来演示这一点:

示例 1.2

说明

上面的代码片段与我们之前看到的示例类似。但是,我们在本例中添加了 API 密钥并保存了文件。

注意:我们需要添加 Google Maps API 密钥('The_API_KEY')并将其设置为 GoogleMapPlotter 类的 apikey 属性。您可以访问以下链接创建您的 API 密钥:https://developers.google.com/maps/documentation/javascript/get-api-key

使用 gmplot 库在谷歌地图上绘制多边形

我们可以使用 gmplot 库提供的 GoogleMapPlotter 类的 polygon() 方法在谷歌地图上绘制多边形。

让我们看下面的例子来演示这一点:

示例 2

输出

Plotting Google Map using gmplot package in Python

说明

在上面的代码片段中,我们导入了 gmplot 库。然后,我们创建列表来存储一些纬度和经度值。然后,我们通过创建 GoogleMapPlotter 类的对象来放置地图。然后,我们使用 scatter() 方法绘制一组点。然后,我们使用 polygon() 方法在地图上绘制多边形。最后,我们使用 GoogleMapPlotter 类的 draw() 方法将地图保存在目录中的 HTML 文件中。

在谷歌地图上分散点并在给定坐标之间绘制一条线,使用 gmplot 库

gmplot 库允许我们使用 scatter()plot() 方法在谷歌地图上分散点并在给定坐标之间绘制一条线。

让我们考虑以下示例来演示这些方法的用法。

示例 3

输出

Plotting Google Map using gmplot package in Python

说明

在上面的代码片段中,我们导入了 gmplotNumPy 库。然后,我们设置了不同的纬度和经度点。然后,我们通过创建 GoogleMapPlotter 类的对象来设置地图的中心以及我们想要的地图缩放级别。然后,我们使用 scatter() 方法在地图上分散点。我们使用 plot 方法在给定坐标之间绘制一条线,并使用 draw() 方法将其保存到 HTML 文件中。

在一个图上绘制热力图和散点图以表示地震,使用 gmplot 库

gmplot 库还允许我们使用 heatmap() 方法绘制热力图,并在一个图上进行散点绘制,以表示地震。

让我们考虑以下示例来演示相同的用法

示例 4

输出

Plotting Google Map using gmplot package in Python

说明

我们在上面的代码片段中导入了 gmplotNumPy 库。然后,我们生成了 700 个随机纬度和经度。然后,我们通过创建 GoogleMapPlotter 类的对象来设置地图的中心以及我们想要的地图缩放级别。然后,我们使用 heatmap() 方法绘制热力图,并使用 scatter() 方法将它们在一个图上进行散点绘制,以表示地震。最后,我们使用 draw() 方法将地图保存到 HTML 文件中。