Applicazione di tag e impostazione della visibilità delle posizioni su una mappa

È possibile assegnare tag alle posizioni memorizzate in una classe MapDataModel. Ogni classe MapField ha un'istanza MapDataModel associata. La classe MapDataModel fornita nel pacchetto net.rim.device.api.lbs.maps.model, rappresenta un contenitore. È possibile aggiungere al contenitore posizioni e dati associati alle posizioni richiamando MapDataModel.add(). Tutti gli elementi e i dati associati possono essere mappati nel contenitore.

È possibile raggruppare gli elementi mappabili assegnando loro dei tag (ad esempio, tutte le posizioni di lavoro che hanno il tag "work"). È possibile richiamare MapDataModel.add() o MapDataModel.tag() per applicare tag agli elementi mappabili in un contenitore MapDataModel. Il metodo add() consente di aggiungere al contenitore un elemento mappabile e specificare un tag per tale elemento. Il metodo tag() consente di specificare un tag per un singolo elemento mappabile nel contenitore. Più posizioni possono avere lo stesso tag (ad esempio, a tutte le sedi RIM può essere applicato il tag "RIM"); una sola posizione può avere più tag (ad esempio, una sede può avere sia il tag "Sarah" che il tag "Paul").

È possibile specificare quali elementi con tag, memorizzati in MapDataModel, devono essere visibili o nascosti su una mappa. Per impostazione predefinita, tutti gli elementi in MapDataModel sono visibili. Ad esempio, è possibile aggiungere il tag "parco" a diverse posizioni e specificare che solo le posizioni con il tag "parco" vengano visualizzate sulla mappa. È possibile specificare gli elementi che devono essere visibili sulla mappa richiamando per primo l'elemento MapDataModel.setVisibleNone() per disattivare la visibilità di tutti gli elementi e quindi MapDataModel.setVisible() per attivare la visibilità solo degli elementi specificati.

Esempio di codice: applicazione di tag alle posizioni mediante il metodo MapDataModel.add()

Nel seguente esempio di codice, vengono definite e aggiunte tre posizioni; alle posizioni viene quindi assegnato un tag richiamando il metodo MapDataModel.add(). Solo le posizioni con il tag "RIM" sono visibili sulla mappa.

MapDataModel model = map.getModel();
MapLocation office01 = new MapLocation( 43.47550, -80.53900, "Head Office", null );
MapLocation office02 = new MapLocation( 43.48261, -80.54169, "Manufacturing", null );
MapLocation justinHome = new MapLocation( 43.47751, -80.54817, "Justin - Home", null);
model.add( (Mappable) office01, "RIM");
model.add( (Mappable) office02, "RIM");
model.add( (Mappable) justinHome, "home");
model.setVisibleNone();
model.setVisible( "RIM" );

Le informazioni sono state utili? Inviateci i vostri commenti.