Creazione di un'immagine statica di una mappa
È possibile creare un'immagine statica di una mappa richiamando MapField.getImage(), fornito nel pacchetto net.rim.device.api.lbs.maps.ui, o MapFactory.generateStaticImage(), fornito nel pacchetto net.rim.device.api.lbs.maps.
È possibile richiamare MapField.getImage() per acquisire un'immagine della mappa corrente sulla schermata, inclusi i dati visibili sulla mappa. MapField.getImage() viene utilizzato per acquisire immagini nelle applicazioni dell'interfaccia utente, dove la mappa è un campo sulla schermata. Ad esempio, in un'applicazione che visualizza una mappa di punti di interesse, è possibile fornire un pulsante su cui gli utenti BlackBerry possono fare clic per salvare un'immagine della mappa corrente.
- Per creare un'immagine della visualizzazione della mappa corrente sulla schermata in un'applicazione non appartenente all'interfaccia utente (ad esempio, in un'applicazione che invia aggiornamenti periodici sulla posizione di una persona a un indirizzo e-mail)
- Per creare un'immagine di una mappa che non consente l'interazione degli utenti come la panoramica e lo zoom (ad esempio, in un'applicazione Contatti per fornire l'immagine di una mappa per l'indirizzo di casa del contatto)
I metodi generateStaticImage() nella classe MapFactory forniscono il controllo sulle coordinate del centro e sul livello di zoom dell'immagine e calcolano le coordinate in base agli elementi che possono essere mappati.
| Metodo | Descrizione |
|---|---|
| generateStaticMapImage(MapDimensions mapProperties, MappableVector data) | Questo metodo utilizza una classe MappableVector e fornisce all'applicazione il controllo sulle coordinate del centro e sul livello di zoom dell'immagine della mappa. |
| generateStaticMapImage(MapDimensions mapProperties, MapDataModel data) | Questo metodo utilizza una classe MapDataModel e fornisce all'applicazione il controllo sulle coordinate del centro e sul livello di zoom dell'immagine della mappa. |
generateStaticMapImage(XYDimension imageSize, MappableVector data) |
Questo metodo calcola le coordinate del centro e il livello di zoom dell'immagine in base ai dati che possono essere mappati in MappableVector. |
Esempio di codice: creazione di un'immagine statica di una mappa in un'applicazione dell'interfaccia utente
// add the data to a collection MapDataModel data = new MapDataModel(); data.add( (Mappable) new MapLocation( 43.47550, -80.53900, "Andrew", null ) ); data.add( (Mappable) new MapLocation( 43.48261, -80.54169, "Blake", null ) ); data.add( (Mappable) new MapLocation( 43.47751, -80.54817, "Christine", null ) ); // create the map and specify the map size MapField map = new MapField(data, 200, 200); // create the image Bitmap image = map.getImage();
Esempio di codice: creazione di un'immagine statica di una mappa (vengono calcolati il centro della mappa e il livello dello zoom)
// add the data to a collection MappableVector data = new MappableVector(); data.addElement( new MapLocation( 43.47550, -80.53900, "Andrew", null ) ); data.addElement( new MapLocation( 43.48261, -80.54169, "Blake", null ) ); data.addElement( new MapLocation( 43.47751, -80.54817, "Christine", null ) ); // specify the size of the resulting image XYDimension imageSize = new XYDimension( 200, 100 ); // create the image Bitmap map = MapFactory.getInstance().generateStaticMapImage( imageSize, data );
Esempio di codice: creazione di un'immagine statica di una mappa (vengono specificati le coordinate del centro e il livello dello zoom della mappa)
// add the data to a collection MapDataModel data = new MapDataModel(); MapLocation andrew = new MapLocation(43.47550, -80.53900, "Andrew", null ); data.add( (Mappable) andrew ); data.add( (Mappable) new MapLocation( 43.48261, -80.54169, "Blake", null ) ); data.add( (Mappable) new MapLocation( 43.47751, -80.54817, "Christine", null ) ); // visibility for this location is false and it will not display on the map data.add( (Mappable) new MapLocation( 43.49487, -80.55335, "Dustin", null), null, false ); // specify the image size, center and zoom level MapDimensions dim = new MapDimensions( 200, 100 ); dim.setCentre( andrew ); dim.setZoom( 3 ); // create the image Bitmap map = MapFactory.getInstance().generateStaticMapImage( dim, data );
Le informazioni sono state utili? Inviateci i vostri commenti.