Hinzufügen einer Karte zu einer Anwendung

Die folgenden Schritte beschreiben, wie eine Karte mithilfe der RichMapField-Klasse einer Anwendung hinzugefügt wird und die Mitte und der Vergrößerungsfaktor der Karte festgelegt werden. Die resultierende Karte in der Anwendung ist in der folgenden Grafik dargestellt:

Dieser Bildschirm zeigt ein RichMapField mit festgelegter Mitte und Vergrößerungsfaktor.
  1. Importieren Sie die erforderlichen Klassen und Schnittstellen.
    import net.rim.device.api.lbs.maps.*;
    import net.rim.device.api.lbs.maps.model.*;
    import net.rim.device.api.lbs.maps.ui.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.container.*;
  2. Erstellen Sie das Anwendungsframework durch Erweitern der UiApplication-Klasse. Erstellen Sie unter main() eine Instanz der neuen Klasse, und rufen Sie enterEventDispatcher() auf, um die Anwendung für das Empfangen von Ereignissen zu aktivieren. Rufen Sie pushScreen() im Anwendungskonstruktor auf, um den benutzerdefinierten Bildschirm für die Anwendung anzuzeigen. Die in Schritt 3 beschriebene MapScreen-Klasse stellt den benutzerdefinierten Bildschirm dar.
    public class RichMapFieldDemo extends UiApplication
    {
        public static void main(String[] args)
        {
            RichMapFieldDemo theApp = new RichMapFieldDemo();
            theApp.enterEventDispatcher();
        }
        public RichMapFieldDemo()
        {
            pushScreen(new MapScreen());
        }
    }
  3. Erstellen Sie das Framework für den benutzerdefinierten Bildschirm durch Erweitern der FullScreen-Klasse. Rufen Sie im Konstruktor super() auf, um ein Standardmenü zu erstellen.
    class MapScreen extends FullScreen
    {
        public MapScreen() 
        {
            super( FullScreen.DEFAULT_CLOSE | FullScreen.DEFAULT_MENU );
        }
    }
  4. Rufen Sie im Bildschirmkonstruktor MapFactory.getInstance() auf, um eine Instanz der MapFactory-Klasse zu erstellen, und rufen Sie anschließend generateRichMapField() auf, um RichMapField zu generieren.
    RichMapField map = MapFactory.getInstance().generateRichMapField();
  5. Rufen Sie im Bildschirmkonstruktor getAction() auf, um eine Instanz der MapAction-Klasse zu erstellen. Rufen Sie setCentreAndZoom() auf, um die Mitte und den Vergrößerungsfaktor der Karte festzulegen. Rufen Sie add() auf, um das Feld dem Bildschirm hinzuzufügen.
    MapAction action = map.getAction();
    action.setCentreAndZoom(new MapPoint(43.47462, -80.53820), 2);
    add(map);

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.