Aggiunta di una mappa a un'applicazione

È possibile aggiungere una mappa a un'applicazione utilizzando le classi MapField e RichMapField, fornite nel pacchetto net.rim.device.api.lbs.maps.ui. Ad esempio, è possibile creare un'applicazione che visualizza una mappa con la posizione corrente dell'utente BlackBerry e i punti di interesse nell'area circostante.

La classe MapField estende la classe net.rim.device.api.ui.Field. È possibile aggiungere MapField per aggiungere le seguenti funzionalità all'applicazione:

  • Rendering di una mappa in un campo dell'interfaccia utente
  • Panoramica e zoom della mappa mediante la tastiera, il trackpad, la trackball o il touchscreen
  • Impostazione degli stili che definiscono le caratteristiche visive degli oggetti mappabili
  • Determinazione del momento in cui gli oggetti mappabili vengono messi a fuoco o in cui i punti vengono selezionati su una mappa

La classe RichMapField estende la funzionalità di MapField. È possibile utilizzare RichMapField per aggiungere le seguenti funzionalità all'applicazione:

  • Aggiunta di campi di utilità, ad esempio un punto di destinazione centrale, un indicatore di zoom e un campo di suggerimento
  • Sovrapposizione di campi su una mappa
  • Reattività dei campi con altri componenti dell'interfaccia utente su una schermata per consentire agli utenti di spostarsi dai componenti del campo della mappa agli altri componenti sulla schermata

Ogni istanza MapField o RichMapField utilizza un thread per eseguire il rendering di una mappa. Ad esempio, se un'applicazione esegue contemporaneamente due istanze MapField, vengono utilizzati due thread. Il thread termina quando l'istanza MapField viene elaborata per un'operazione di garbage collection. Accertarsi che l'applicazione non superi il limite di thread disponibili. Per terminare il thread per l'istanza MapField o RichMapField, è necessario richiamare close(), che rimuove il campo come listener da specifiche classi e avvia un'operazione di garbage collection.

Esempio di codice: aggiunta di una mappa mediante la classe MapField

MapField map = new MapField();
add(map);

Esempio di codice: aggiunta di una mappa mediante la classe RichMapField

RichMapField map = MapFactory.getInstance().generateRichMapField();
add(map);

Le informazioni sono state utili? Inviateci i vostri commenti.