赞
踩
Leaflet是一个可用于在移动设备上创建具有友好环境的交互式地图的框架。正如我们在其网站上看到的,应用案例包括:GitHub、Foursquare、Facebook、Pinterest、Flickr、华盛顿邮报或 、USAToday。
OpenLayers,这是一个高性能框架,包含用于在网络上创建交互式地图的功能。可以显示从任何源加载的细分地图、矢量数据和标记在任何网页上。
OpenLayers 的开发可以使用所有类型的地理信息数据类型。应用案例包括:GeoShape、Cartaro 或 GeoMoose及GEOSERVER 。
学习起来更容易、更快。具体来说,要使用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 原生支持所有 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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。