什么是Leaflet和Mapbox,它们的区别是什么?

vet*_*i02 77 api dictionary leaflet mapbox

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

tmc*_*mcw 117

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

Leaflet是一个JavaScript API,用于在互联网上制作互动地图.它可以与Mapbox集成,还可以与OpenStreetMap等大量其他tile源以及GeoJSON叠加等其他数据源集成.

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

您可以在不使用Mapbox切片的情况下使用Mapbox.js,并将Leaflet与Mapbox切片一起使用 - 它们完全是混合和匹配的.Mapbox.js的补充,如TileJSONUTFGrid支持,使得与Mapbox地图集成更容易,但不会改变Leaflet的现有行为.

  • Mapbox 现在为浏览器制作了自己的开源 GIS 库:[Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/)。它们之间的主要区别之一是 Mapbox GL JS 使用 WebGL,而 Leaflet 不使用。用于映射的 WebGL 在渲染计算量大的事物(即动画,如天气图层、滚动地图)方面要快得多,但比 Leaflet 的解决方案具有更少的直接控制(即操纵 DOM 进行样式设置)。另请参阅[此相关问题](/sf/ask/2454882741/) (5认同)

pso*_*usa 35

更新(2014-08-22):

我的回答有点过时了.请参阅@tmcw的答案,了解Leaflet和MapBox之间的最新比较.


原答案(2012-09-05):

你在比较苹果和橘子.

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

因此,例如,您可以使用Leaflet中的Mapbox映射.

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

所以,总结一下:

  • Leaflet - > map API,没有数据
  • MapBox - >设计和发布地图

  • @ClintHarris.实际上,自从我第一次写这篇文章以来,情况发生了进一步的变化.目前,Mapbox.js只是Leaflet上的一个库,它提供了一些额外的功能和智能插件架构.即使您没有使用mapbox的设计/托管服务,也可以使用它. (4认同)
  • 只想补充一点,MapBox最近发布了自己的js api:http://mapbox.com/mapbox.js/api/v0.6.5/ (3认同)
  • 只是为了更新:Mapbox API现在使用Leaflet作为其API,使用插件进行扩展以从其服务器检索地图图块. (2认同)

Ahm*_*aly 19

您可以将Mapbox视为地图的github

OpenStreetMaps作为git

作为git客户端的传单

和mapbox.js作为'GitHub for Mac'


让我解释一下

OpenStreetMaps(OSM)是一个开源的东西来创建/显示地图,就像git for source control一样

Mapbox是一家公司,用于托管基于OSM的地图,具有更强大的功能,而不仅仅是托管,gitub为git项目提供相同的案例

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

mapbox.js是一个增强的库,用于显示/使用mapbox.com上托管的地图,它已经基于OSM,就像github为github上托管的项目制作的'GitHub for Mac'客户端一样

希望这澄清这个问题