Code sprint été 2012
Release alpha 1 en avril 2013
... puis après une longue gestation
Release 3.0.0 stable en août 2014
Géoportail suisse - SwissTopo
Février 2014
Version 3.15.1
Cycle de release régulier
~ tous les 1 à 1.5 mois
La carte est le composant principal
La vue est l'objet qui va contrôler l'affichage de la carte.
var map = new ol.Map({
target: 'map',
layers: [new ol.layer.Tile({
source: new ol.source.OSM()
})],
view: new ol.View({
center: ol.proj.fromLonLat([5, 45]),
zoom: 4
})
});
Les couches indiquent comment afficher les données.
Les sources indiquent la provenance des données et comment les manipuler.
Les interactions gèrent les interactions entre l'utilisateur et la carte.
Les contrôles sont des composants primitifs ajoutés à la carte.
Des couches, des sources, et des interactions pour manipuler des éléments vectoriels.
Et des styles pour représenter tout ça.
new ol.layer.Vector({
source: new ol.source.Vector({
url: 'data/countries.geojson',
format: new ol.format.GeoJSON()
})
})
layer.setStyle(new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.3)'
}),
stroke: new ol.style.Stroke({
color: '#319FD3'
})
}));
layer.setStyle(new ol.style.Style({
image: new ol.style.Circle({
radius: 5,
fill: new ol.style.Fill({color: 'orange'})
}),
geometry: function(feature) {
var coordinates = feature.getGeometry()
.getCoordinates()[0];
return new ol.geom.MultiPoint(coordinates);
}
});
Pour rajouter facilement des composants (label, images, popups, etc...) à une coordonnée donnée.
var marker = new ol.Overlay({
position: ol.proj.fromLonLat([5, 45]),
positioning: 'center-center',
element: document.getElementById('marker')
});
map.addOverlay(marker);
OpenLayers 3 a été pensé pour fonctionner sur des appareils mobiles.
Support des navigateurs IE 9 et supérieur qui permet de reposer sur des technologies modernes (Canvas par exemple).
Compilation en mode avancé.
Permet :
Minification optimale, gestion des dépendances, etc...
Visualiser une carte OL3 sur un globe Cesium.
Suppression des dépendances sur Google Closure Library
Utilisation de goog.module (vs. goog.provide)
+ de support pour WebGL
(Actuellement uniquement les points)
Démo WebGL(Financements appréciés)
// Web Mercator
var source = new ol.source.OSM();
var view = new ol.View({
// Korea 2000
projection: 'EPSG:5179',
center: [14229000, 4398000],
zoom: 7
});
Plus d'infos sur
Merci
Merci
Committers ou non