User Tools

Site Tools


tecnica:gps_cartografia_gis:openlayers_900913

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
tecnica:gps_cartografia_gis:openlayers_900913 [2009/01/31 23:29] – external edit 127.0.0.1tecnica:gps_cartografia_gis:openlayers_900913 [2010/11/05 14:21] niccolo
Line 1: Line 1:
-====== OpenLayers with OpenStreetMap ======+====== OpenStreetMap con OpenLayers ======
  
 Le mappe di **[[http://www.openstreetmap.org|OpenStreetMap]]** (ma anche quelle di **[[http://maps.google.com/|Google Maps]]** e di **[[http://www.microsoft.com/VIRTUALEARTH/|Virtual Earth]]**) utilizzano una proiezione **[[http://crschmidt.net/~crschmidt/spherical_mercator.html|Spherical Mercator]]**. Tale proiezione ha codice **EPSG:900913**, che purtroppo non è compresa tra le proiezioni di PROJ. Le mappe di **[[http://www.openstreetmap.org|OpenStreetMap]]** (ma anche quelle di **[[http://maps.google.com/|Google Maps]]** e di **[[http://www.microsoft.com/VIRTUALEARTH/|Virtual Earth]]**) utilizzano una proiezione **[[http://crschmidt.net/~crschmidt/spherical_mercator.html|Spherical Mercator]]**. Tale proiezione ha codice **EPSG:900913**, che purtroppo non è compresa tra le proiezioni di PROJ.
Line 20: Line 20:
 Questo trucco funziona sul sito di OpenStreetMap, purtroppo non funziona su altri simili che usano sempre OpenLayers, ad esempio http://www.informationfreeway.org/. Questo trucco funziona sul sito di OpenStreetMap, purtroppo non funziona su altri simili che usano sempre OpenLayers, ad esempio http://www.informationfreeway.org/.
  
-===== Layer supportati da OpenLayers ===== 
  
-**[[http://dev.openlayers.org/docs/files/OpenLayers-js.html|OpenLayers documentation]]** 
- 
-^ OSM  | OpenStreetMap, l'uso di questo layer richiede il caricamento di **''OpenLayers.js''**. Gestisce le tile, il caricamento asincrono e la proiezione EPSG:900913.  | 
-^ Markers  | Visualizza delle icone, è possibile attivare un pop-up al click sull'icona. Ogni feature può avere un'icona diversa. I marker vengono aggiunti o rimossi da programma.  | 
-^ Text  | Del tutto simile al ''Marker'', ma carica le feature, i nomi delle icone e il contenuto del pop-up da un file di testo. Carica il layer una sola volta, per aggiornarne il contenuto bisogna svuotarlo e forzare la funzione **''loadText()''**.  | 
-^ GeoRSS  | Carica un elenco di features da un file XML, ogni feature viene mostrata con un simbolo eventualmente personalizzto con un uno stile. Lo stile può dipendere dagli attributi della singola feature, non può essere un'icona bitmap. Carica il file .xml una sola volta, per aggiornarne il contenuto bisogna svuotarlo e forzare la funzione **''loadRSSt()''**.  | 
-^ GML  | Carica una gemoetria da un file GML (XML geografico). La vestizione può essere fatta con uno stile, non si possono usare icone bitmap. Il file viene caricato con un protocollo specificato (es. HTTP) e con delle strategie specificate (ad esempio al variare della bounding box). La strategia **''BBOX''** fa uso di richieste XMLHttpRequest per caricare nuovi dati in modo asincrono, al cambiare della bounding box. Per forzare l'aggiornamento da programma si modifica l'URL di origine con **''setUrl()''** aggiungendo un parametro univoco (ad esempio un ''t=timestamp''), in tal modo si invalida la cache.  | 
-^ WFS  |  | 
-^ TMS  |  | 
- 
-Esempi: 
- 
-<code javascript> 
-var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik (updated weekly)"); 
-</code> 
- 
-<code javascript> 
-var markers = new OpenLayers.Layer.Markers("Markers"); 
-</code> 
- 
-<code javascript> 
-var pois = new OpenLayers.Layer.Text("My Points", { 
-    location:"./textfile.txt", projection: map.displayProjection }); 
-</code> 
- 
-<code javascript> 
-var track_style = new OpenLayers.Style(); 
-track_style.strokeColor = "#6636e1"; 
-track_style.strokeWidth = 7; 
-track_style.strokeOpacity = 0.7; 
-var object_trk = new OpenLayers.Layer.GML("GPX Track", "track.gpx", { 
-    format: OpenLayers.Format.GPX, 
-    style: track_style, 
-    projection: map.displayProjection}); 
-map.addLayer(object_trk); 
-</code> 
- 
-<code javascript> 
-var gsat = new OpenLayers.Layer.Google( 
-    "Google Satellite", {type: G_SATELLITE_MAP, numZoomLevels: 20}); 
-</code> 
  
 ===== Dynamic layer update ===== ===== Dynamic layer update =====
Line 184: Line 142:
  
 This recipe can be improved by adding a ''bbox'' parameter (calculated at runtime) to the location of the layer, and forcing a call to ''updateFriends()'' whenever the viewport of the map changes. This recipe can be improved by adding a ''bbox'' parameter (calculated at runtime) to the location of the layer, and forcing a call to ''updateFriends()'' whenever the viewport of the map changes.
 +
tecnica/gps_cartografia_gis/openlayers_900913.txt · Last modified: 2010/11/05 14:47 by niccolo