Openlayers3 è una libreria JavaScript leggera, che permette di integrare mappe dinamiche nelle pagine web e nelle applicazioni mobile, utilizzando avanzate tecnologie di navigazione come HTML5, WebGL and CSS3.
Openlayers3 offre un insieme di funzionalità, sia di base che avanzate, per mappe web e sistemi informativi geografici.
Possiamo, ad esempio, inserire una mappa nel sito per indicare dove si trova un luogo, disegnare un percorso, evidenziare un terreno e le sue caratteristiche. Possiamo collegarci a servizi esterni in cui sono mappate le tematiche che più ci interessano. Qui ho pubblicato, come esempio, una mappa che riprende OpenStreetMap e che visualizza la Spagna con centro Barcellona (coordinate [2.032, 41.759]) e zoom livello 8: basic-map.html
Ecco il codice della pagina basic-map.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Basic map</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<!-- OpenLayers CSS -->
<link rel="stylesheet" href="http://ol3js.org/en/master/build/ol.css" type="text/css">
<!-- Custom styles -->
<style>
#map {width: 100%;
height: 500px;
}
</style>
</head>
<body>
<h1>Basic map</h1>
<div id="map"></div>
<!-- OpenLayers JS-->
<script src="http://openlayers.org/en/v3.18.2/build/ol.js" type="text/javascript"></script>
<!-- App code -->
<script>
var map = new ol.Map({target: 'map',
renderer: 'canvas',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({center: ol.proj.transform([2.032, 41.759], 'EPSG:4326', 'EPSG:3857'),
zoom: 8})
});
</script>
</body>
</html>
Map
La map è un componente chiave di OpenLayers. Per un map da visualizzare, sono necessari una view, uno o più layers e un contenitore di destinazione.
View
La view determina come la mappa è renderizzata. È usata per impostare la risoluzione, le coordinate del centro, ecc. È come una camera attraverso il quale si accede al contenuto della mappa.
Layers
Layers possono essere alla mappa in ordine impilato, questo fa si che, i layers più in basso sono renderizzati prima dei layers più in alto. Layers possono essere sia layers raster (images), che layers vettoriali(punti/linee/poligoni).
Source
Ogni layer ha una source, che conosce come caricare il contenuto del layer. Nel caso di layers vettoriali, la sorgente è letta da dati vettoriali usando una classe format (per esempio GeoJSON o KML) e riempe il layer con un numero di features.
Features
Features rappresentano cose del mondo reale e possono essere renderizzate con differenti geometries (come punti, linee o poligoni) usando un dato style, che determina il suo aspetto (spessore delle linee, colore di riempiemento, etc).