Codebeispiel: Markieren und Einstellen der Sichtbarkeit für Orte auf einer Karte

Das folgende Codebeispiel erstellt eine Karte, weist Tags zu mehreren Orten hinzu und zeigt nur die Orte an, die mit dem Tag „Arbeit“ versehen sind.

import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.lbs.maps.*;
import net.rim.device.api.lbs.maps.model.*;
import net.rim.device.api.lbs.maps.ui.*;
public class MapTaggingDemo extends UiApplication
{
    public static void main(String[] args)
    {
        MapTaggingDemo theApp = new MapTaggingDemo();
        theApp.enterEventDispatcher();
    }
    public MapTaggingDemo()
    {
        pushScreen(new MapTagScreen());
    }
}
class MapTagScreen extends FullScreen
{
    public MapTagScreen() 
    {
        super(FullScreen.DEFAULT_CLOSE | FullScreen.DEFAULT_MENU | 
                FullScreen.VERTICAL_SCROLL | FullScreen.VERTICAL_SCROLLBAR);
        RichMapField map = MapFactory.getInstance().generateRichMapField();
        add(map);
        MapDataModel data = map.getModel();
        MapLocation julieHome = new MapLocation( 43.47751, -80.54817, 
                "Julie - Home", null );
        MapLocation headOffice = new MapLocation( 43.47550, -80.53900, 
                "Head Office", null );
        int julieHomeId = data.add( (Mappable) julieHome, "julie" );
        data.tag( julieHomeId, "home" );
        int headOfficeId = data.add( (Mappable) headOffice, "julie" );
        data.tag( headOfficeId, "work" );
        MapLocation paulHome = new MapLocation( 43.49487, -80.55335, 
                "Paul - Home", null );
        int paulHomeId = data.add( (Mappable) paulHome, "paul" );
        data.tag( paulHomeId, "home" );
        data.tag( headOfficeId, "paul" );
        data.tag( paulHomeId, "sarah" );
        MapLocation manufacturing = new MapLocation( 43.46514, -80.50506, 
                "Manufacturing", null );
        int manufacturingId = data.add( (Mappable) manufacturing, "sarah" );
        data.tag( manufacturingId, "work" );
        data.setVisibleNone();
        data.setVisible( "work" );
        map.getMapField().update( true );          
    }
}

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.