3 个开源替代方案,可替代 Google Maps API

还没有读者喜欢这个。
World Map

维基共享资源

每年的 11 月第三个星期三,世界各地的地图爱好者(包括我自己)都会庆祝 GIS 日。GIS 是地理信息系统的缩写,有时也称为地理空间信息科学,它完全是关于使用计算机系统来收集、存储、分析和显示地理数据,或者任何具有空间组成部分的数据。

过去十年极大地改变了 GIS。随着数据挖掘、机器学习、移动应用程序、物联网、社交媒体以及计算领域最近新增的其他技术的出现,每个学科都有数量级更多的数据可用,而进行有用且有趣的事情的竞赛正在全速进行。GIS 曾经仅限于土地记录、农业、自然资源和城市规划等更传统的领域,现在几乎渗透到各个领域。

但是,人们如何开始探索广阔的 GIS 世界呢?在探索高级建模、空间分析和数据管理之前,开始学习 GIS 最合乎逻辑的地方是从地理数据的最基本表示形式开始:地图。如果您具备基本的 Web 编程和标记语言(JavaScript、HTML 和 CSS)背景,那么 Web 地图可能是入门阻力最小的途径。

许多熟悉 Google Maps 的人立即转向 Google Maps API 入门,但 Google Maps 远非唯一的选择。事实上,有许多开源替代方案更适合特定需求,无论这些需求是以最小的开销显示非常基本的内容,还是具有许多不同组件和集成的复杂应用程序。

如果您希望开始使用 Web 地图,以下是三个值得查看的库。

Leaflet

Leaflet 在过去几年中已成为创建交互式 JavaScript 地图的最受欢迎的选择之一。它的基本库相当小,这使得 Leaflet 成为移动应用程序或其他对加载时间或大小有要求的场景的绝佳选择。但它也有大量的可用插件,因此您可以添加几乎任何更庞大的地图库提供的功能。

Leaflet 还有一个强大的 文档 项目作为后盾,使其成为初学者的好选择,并且互联网上有许多社区贡献的示例,供您在遇到困难时参考,项目主页上也有许多 示例。Leaflet 的源代码在 GitHub 上提供,并根据 BSD 许可证获得许可。

Modest Maps

虽然 Leaflet 可以被认为是极简主义库,但 Modest Maps 可能会赢得更小的奖项。Modest Maps 的设计也非常模块化,对于简单地图和希望挑选组件的人来说都是不错的选择。查看他们的 示例库,了解更多关于您可以使用它做些什么的想法。

Modest Maps 是根据 BSD 许可证开源的,您也可以在 GitHub 上查看其源代码。

Polymaps

Polymaps 是一个 JavaScript 地图库,用于创建交互式地图,其中包含基于 SVG 的矢量图和基于瓦片的栅格数据地图。使用 SVG(可缩放矢量图形)创建地图的好处在于,这意味着许多可以应用于 CSS Web 文档的样式选项也适用于您的地图设计。我还发现,与其他一些库相比,Polymaps 在处理缩放方面非常出色。

与上面的其他库一样,Polymaps 也是根据 BSD 许可证开源的,您也可以在 GitHub 上查看其源代码。

其他

当然,我们看到的这三个并不是唯一的选择。还有许多其他的选择,根据您的具体需求,您可能应该花一些时间探索所有选项,然后再决定从哪里开始。我喜欢的其他一些选项包括

  • OpenLayers,您可以将其视为 Web 地图编程的“厨房水槽”。我在使用 GeoServer 时经常使用 OpenLayers;如果您使用开源 OpenGeo Suite 构建完整的 GIS 解决方案,则所有组件都可以很好地集成。
  • Mapael,这是一个 jQuery 库,用于使用矢量数据构建有吸引力的地图可视化。
  • D3.js,这是一个更通用的 JavaScript 可视化库,但具有一些出色的功能,可以轻松创建简单地图。如果您对更广泛的数据可视化世界感兴趣,D3 是一个很好的起点。
  • Cesium,它非常专门用于创建 WebGL 可视化,将数据映射到 3D 地球仪上。如果您对此感兴趣,一些 演示 非常棒。

对于其他工具,OpenGeo Foundation 提供了一个相当 全面的 Web 地图工具列表,但请注意,它们的范围和生产准备状态各不相同。

使用这些库的好处在于,它们鼓励混合和匹配,以便根据您的需求完美地设置地图样式。不喜欢位于地图下方的默认地图图层?选择另一个。更喜欢使用不同的图标来表示地图上的点?没问题。

是否有我们在此处未提及的您认为适合初学者的最喜欢的 Web 地图 API?请在下面的评论中告诉我们。祝您 GIS 日快乐!

User profile image.
Jason 是 Opensource.com 的工作人员和红帽员工,任期为 2013 年至 2022 年。此个人资料包含他在此期间与工作相关的文章。其他贡献可以在他的个人帐户中找到。

6 条评论

很棒的文章!

但是,没有提到一个关于 Open Street Maps 的词... 为什么?

嗨 Hugo,OpenStreetMap 是一个协作编辑项目和数据提供商,而不是用于显示地图本身的 API。这里重点介绍的这三个 Web 地图 API 中的任何一个都能够使用 OpenStreetMap 数据作为用户创建地图的底图。

有关能够与 OpenStreetMap 数据配合使用的 Web 地图框架的相当长的列表,请参阅此链接:http://wiki.openstreetmap.org/wiki/Frameworks#Webmaps

回复 作者:Hugo (未验证)

Modest Maps 和 Polymaps 都已多年未维护。

这篇文章是重复使用了以前的文章吗?

两者仍然非常可用,但正如您所指出的,在任何一方面都没有太多的积极开发。

回复 作者:Albin Larsson (未验证)

看看 Mapzen:https://mapzen.com/

他们正在走出隐身模式,并有一些很棒的想法,以及来自 Google 和 Mapquest 的一些经验丰富的员工。

在地图上找到 @openstreetmap

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.