OpenLayers 与 Leaflet 哪个更好?

  Leaflet是一个可用于在移动设备上创建具有友好环境的交互式地图的框架。正如我们在其网站上看到的,应用案例包括:GitHub、Foursquare、Facebook、Pinterest、Flickr、华盛顿邮报或 、USAToday。

图片

   OpenLayers,这是一个高性能框架,包含用于在网络上创建交互式地图的功能。可以显示从任何源加载的细分地图、矢量数据和标记在任何网页上。 

OpenLayers 的开发可以使用所有类型的地理信息数据类型。应用案例包括:GeoShape、Cartaro 或 GeoMoose及GEOSERVER 。

Leaflet 相对于 OpenLayers 的优势

学习起来更容易、更快。具体来说,要使用Leaflet创建地图,需要使用L.map类,其中包括地图的中心坐标、缩放、一些图层等。在使用 OpenLayers 的情况下,需要使用ol.Map类,但伴随着ol.View类。也不复杂,但是代码较多,让我们看一个例子:

var map = L.map('map', {    center: [41.66, -4.72],    zoom: 4,    layers: osm });

要对 OpenLayers 执行相同的操作,我们需要更多代码:​​​​​​​

var map = new ol.Map({    layers: [osm],    target: 'map',    view: new ol.View({       center: ol.proj.transform([-4.72, 41.66],       'EPSG:4326', 'EPSG:3857'),       zoom: 4    }) });

  • 它们的外观和感觉(例如按钮和层开关),在本节中它们非常相似。

左侧的地图是使用 OpenLayers 创建的,显示了缩放按钮和图层切换器。右边的地图是用Leaflet构建的,展示了这个库原生为我们提供的图层控制。

  • 移动支持。

  •  用于扩展库功能的插件生态系统。虽然OpenLayers也有第三方库,但它的插件只有十几个,而Leaflet则有大约200个插件。

  • 对于新手用户来说,Leaflet API 文档更容易理解,而 OpenLayers API 文档则变得更复杂。

OpenLayers 相对于 Leaflet 的优势

  • OpenLayers 原生支持所有 WebGIS 协议,无需插件,例如 WMTS、WFS 或 GML。甚至是新的Mapbox MVT 矢量切片格式。

  •  OpenLayers 有丰富的学习资源和示例。

  • 投影与 Proj4js 更好的集成。

  • 查看 3D 地图并使用WebGL快速显示大量矢量数据。

  • 由于 OpenLayers 整个框架是一个整体,这使得它更加高效,也更加稳定。而不像Leaflet 那样结构松散,其稳定性及可靠性容易有问题!

结论

    Leaflet 更容易学习,更简单。OpenLayers功能更强大,但学习起来比较复杂,不容易上手!所以对于大项目强GIS使用OpenLayers,对于小项目弱GIS使用Leaflet 。对于团队GIS功底比较强的使用OpenLayers,对团队GIS功底比较弱的使用Leaflet 。

一般来说:由于 Leaflet 的轻便性和 Web 应用程序中的 OpenLayers,建议将 Leaflet 用于移动应用程序。

实践中:在大多数项目中,Leaflet 就足够了。当应用程序需要比较强大的功能时使用OpenLayers。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS工具-gistools2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值