【问题标题】:What are Leaflet and Mapbox, and what are their differences?什么是 Leaflet 和 Mapbox,它们有什么区别?
【发布时间】:2012-08-29 00:50:39
【问题描述】:

什么是 Leaflet 和 Mapbox,两者有什么区别或用法?它们的 API 有哪些主要区别?

【问题讨论】:

    标签: api dictionary leaflet mapbox


    【解决方案1】:

    你可以想到

    • Mapbox 作为地图的 GitHub

    • OpenStreetMaps 作为 git

    • Leaflet 作为 git 客户端

    • ma​​pbox.js 作为 'GitHub for Mac'


    让我试着解释一下:

    OpenStreetMaps (OSM) 是一个开源项目,用于创建/显示地图和地理数据;就像 git 允许为源代码控制创建提交树。它们都是处理数据的软件。

    Mapbox 是一家托管公司,提供基于 OSM 的地图,具有更多功能,而不仅仅是托管;这与 git 项目的 GitHub 情况相同。

    Leaflet 是一个图书馆,使用户能够使用 OSM 托管服务在其浏览器上显示/使用基于 OSM 的地图;就像任何 git 客户端正在使用 git 托管服务一样。

    mapbox.js 是一个增强的,用于显示/使用托管在 mapbox.com 的地图,它已经基于 OSM;就像 “GitHub for Mac” 客户端是由 GitHub 制作的,用于为托管在其服务器上的项目提供接口。

    希望这能澄清你的疑虑。

    【讨论】:

    • 可能是最好的一个
    【解决方案2】:

    更新(2014-08-22):

    我的回答有点过时了。 Leaflet 和 MapBox 的最新比较请参考@tmcw's answer


    原答案(2012-09-05):

    你在比较苹果和橘子。

    Leaflet“只是”一个地图 API。它本身不提供数据/地图。 Mapbox 是一种设计和发布地图的服务,其最终结果是存储在云中的一堆生成的地图图块(以及一些 json 文件)。

    因此,例如,您可以使用 Leaflet 中的 Mapbox 地图。 Example

    无论如何,Mapbox 是由一家名为 DevelopmentSeed 的公司开发的,他们有一个地图 API,它确实是 Leaflet 的竞争对手,称为 Modest Maps,虽然更简单,功能更少。

    所以,总结一下:

    • 传单 -> 地图 API,无数据
    • MapBox -> 设计和发布地图

    【讨论】:

    • 只想补充一下,MapBox最近发布了自己的js api:mapbox.com/mapbox.js/api/v0.6.5
    • 只是为了更新:Mapbox API 现在使用 Leaflet 作为其 API,并通过插件扩展以从其服务器检索地图图块。
    • 如果您使用他们的 Mapbox.com 的地图设计/托管服务,您只需要 Mapbox.js,对吗?换句话说,如果你正在构建一个使用非 Mapbox tile 服务、自定义数据库等的自定义应用程序,你只需要使用 Leaflet 吗?
    • @克林特哈里斯。实际上,自从我第一次写这篇文章以来,情况发生了更大的变化。目前 Mapbox.js 只是 Leaflet 之上的一个库,它提供了一些附加功能和智能插件架构。即使您没有使用 mapbox 的设计/托管服务,也可以使用它。
    • 你好。我看到传单正在使用响应式代码,我想在我的项目中使用 IOS/Android 代码,我该怎么做?
    【解决方案3】:

    这是一个旧帖子,这是我的更新。

    Mapbox 现在正在使用传单作为他们的官方 JavaScript API(我不知道内部工作是什么,但是......我根本无法访问 Modest Maps,而且 Mapbox 在他们的当前网站)。

    【讨论】:

      【解决方案4】:

      另一个答案很好,但有点过时,因为 Mapbox 在两年内发生了重大变化。

      Leaflet 是一个 JavaScript API,用于在互联网上制作交互式地图。它可以与 Mapbox 集成,还可以与许多其他图块源(如 OpenStreetMap)和其他数据源(如 GeoJSON overlays)集成。

      Mapbox 是一家提供地图服务和技术的公司 - 其中一项服务 Map tiles 可以在 Leaflet 中用作基本地图 - 就像您在 Google Maps API 中使用 Google Map 磁贴一样。 Mapbox 还开发了一个名为 Mapbox.js 的 Leaflet 插件,它可以轻松地与他们的图块集成,同时仍然使用 Leaflet 中的所有强大功能。我们也支持 Leaflet 的开发,因为the maintainer works here

      您可以在不使用 Mapbox 瓦片的情况下使用 Mapbox.js,并将 Leaflet 与 Mapbox 瓦片一起使用 - 它们完全可以混合搭配。 Mapbox.js 的新增功能,如 TileJSONUTFGrid 支持,可以更轻松地与 Mapbox 地图集成,但不会改变 Leaflet 的现有行为。

      【讨论】:

      • Mapbox 现在为浏览器创建了自己的开源 GIS 库:Mapbox GL JS。现在它们之间的主要区别之一是 Mapbox GL JS 使用 WebGL 而 Leaflet 没有。 WebGL,用于映射,在渲染计算量大的事物(即动画,如天气图层,滚动地图)方面要快得多,但与 Leaflet 的解决方案(即,操纵 DOM 以进行样式设置)相比,它的直接控制更少。另见this related question
      猜你喜欢
      • 2014-03-20
      • 1970-01-01
      • 2013-04-18
      • 2020-03-21
      • 2021-08-10
      • 2020-05-01
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多