Aggiunta di campi sopra una mappa

È possibile utilizzare la classe RichMapField per visualizzare una mappa che può essere parte di una schermata comprendente uno o più componenti dell'interfaccia utente. È possibile aggiungere campi che non fanno parte della mappa richiamando RichMapField.add(). I campi sono sovrapposizioni e non fanno parte della mappa.

Quando un'istanza RichMapField si trova in un contenitore che comprende altri componenti dell'interfaccia utente (ad esempio, in una finestra di dialogo), per impostazione predefinita, RichMapField reagisce con gli altri componenti dell'interfaccia utente per consentire a un utente BlackBerry di passare da RichMapField agli altri componenti dell'interfaccia utente sulla schermata. Se si desidera rendere RichMapField il campo esclusivo sulla schermata (ad esempio, la mappa viene visualizzata a schermo intero), è necessario disattivare la reattività dell'elemento con gli altri campi della schermata richiamando disableOperationMode(MapConstants.MODE_SHARED_FOCUS).

È possibile utilizzare MapConstants.MODE_FOCUS_ACTIVE per specificare che RichMapField è il campo esclusivo e comunque reagisce con gli altri componenti dell'interfaccia utente. In tal caso, RichMapField utilizza attivamente tutti gli eventi di input, ad esempio il clic con il trackpad eseguito da un utente. Se RichMapField è il campo esclusivo, un utente può eseguire la panoramica o l'ingrandimento di una mappa senza uscire inavvertitamente dalla mappa e spostarsi sugli altri componenti della schermata. Se RichMapField non è il campo esclusivo, RichMapField non utilizza alcun evento di input e gli utenti possono eseguire una panoramica della mappa e spostarsi su un altro campo della schermata.

Per ulteriori informazioni sui componenti dell'interfaccia utente, vedere la Guida di consultazione rapida sui componenti dell'interfaccia utente di BlackBerry Java SDK,

Esempio di codice: aggiunta di un campo nella parte superiore di una mappa

RichMapField map = MapFactory.getInstance().generateRichMapField();
ButtonField button = new ButtonField( "Click Here", Field.FOCUSABLE);
button.setChangeListener( new FieldChangeListener()
{
    public void fieldChanged( Field field, int context )
    {
        Dialog.alert( "Button clicked." );
    }
} );
map.add( button, 50, 50 );

Esempio di codice: impostazione di RichMapField come campo esclusivo della schermata

RichMapField richMapField = MapFactory.getInstance().generateRichMapField();
MapField map = richMapField.getMapField();
map.getAction().disableOperationMode( MapConstants.MODE_SHARED_FOCUS );

Le informazioni sono state utili? Inviateci i vostri commenti.