Creazione della prima mappa

Assicuratevi che MapServer sia corrttamente installato e che tutte le librerie Java siano presenti nel classpath dell'applicazione.

Create un oggetto it.units.hirema.jemma.common.value.Map e settate le variabili necessarie: l'indirizzo di MapServer e l'indirizzo completo al file map da richiedere.

Map myMap = new Map();
myMap.setMapservURL("http://localhost/mapsrv");
myMap.setMap("/var/maps/venice.map");
Chiamate il metodo statico della classe it.units.hirema.jemma.service.MapService
MapService.callMapServer(myMap);
Esso chiama il file MapServer, richiede la mappa e setta i valori di extent appropriati nell'oggetto Map. Per testare il funzionamento potete scrivere i valori della carta e dell'extent.
myMap.getImg();
// oggetto di tipo Envelope
myMap.getExtent();

Nuovi valori istanziati

Ad ogni andata e ritorno di una chiamata di Jemma a MapServer vengono aggiornati i seguenti valori dell'oggetto Map:

  • Il nuovo extent della mappa (extent).
  • L'URL alla mappa (img)
  • Se esiste, l'URL alla mappa di riferimento (img
  • Se esiste, l'URL alla mappa in scala (scale)
  • Se esiste, l'URL alla scalebar (scalebar)
  • Se esiste, l'URL alla leggenda (legend)

Manipolare la mappa via API

Zoom

Lo zoom di una mappa è controllata da due attributi di tipo int, zoomdir e zoomsize.
L'attributo zoomdir controlla la direzione (-1 zoom out, 0 pan, 1 zoom in), mentre zoomsize indica di quale fattore procedere nello zoom (il valore 2 indica per esempio di scalare di due volte la mappa).
I valori di zoomdir dovrebbero essere settati utilizzando gli attributi statici della classe it.units.hirema.jemma.common.value.params.Zoom;
// Setta uno zoom in di tre volte
myMap.setZoomdir(it.units.hirema.jemma.common.value.params.Zoom.ZOOM_IN);
myMap.setZoomsize(3);
Oltre ad un valore di zoom è necessario indicare su quale punto si intende spostarsi o zoomare, utilizzando gli attributi