Hinzufügen einer Karte zu einer Anwendung

Sie können eine Karte mithilfe der MapField-Klasse und RichMapField-der Klasse, die im net.rim.device.api.lbs.maps.ui-Paket bereitgestellt sind, zu einer Anwendung hinzufügen. Zum Beispiel können Sie eine Anwendung erstellen, die eine Karte anzeigt, die den aktuellen Standort des BlackBerry-Gerätebenutzers und Sonderziele in der Umgebung zeigt.

Die MapField-Klasse erweitert die net.rim.device.api.ui.Field-Klasse. Sie können MapField verwenden, um Ihrer Anwendung die folgenden Funktionen hinzuzufügen:

  • Rendern einer Karte in einem UI-Feld
  • Schwenken und Zoomen der Karte mithilfe von Tastatur, Trackpad, Trackball oder Touchscreen
  • Einstellung der Stile, die die visuellen Eigenschaften anzeigbarer Objekte definieren
  • Bestimmen, wenn anzeigbare Objekte Fokus erhalten oder wenn Punkte auf einer Karte ausgewählt wurden

Die RichMapField-Klasse erweitert die Funktionalität von MapField. Sie können RichMapField verwenden, um Ihrer Anwendung die folgenden Funktionen hinzuzufügen:

  • Hinzufügen von Hilfsfeldern, wie z. B. einem Mittenziel, einer Vergrößerungsanzeige und einem Hinweisfeld
  • Überlagern von Feldern auf einer Karte
  • Verwenden des Fokus gemeinsam mit anderen Benutzeroberflächenkomponenten auf einem Bildschirm, um Benutzern zu erlauben, durch Kartenfeldkomponenten zu anderen Komponenten am Bildschirm zu navigieren

Jede MapField- oder RichMapField-Instanz verwendet einen Thread, um eine Karte zu darzustellen. Wenn eine Anwendung z. B. zwei MapField-Instanzen hat, die gleichzeitig ausgeführt werden, werden zwei Threads verwendet. Der Thread wird beendet, wenn die MapField-Instanz für Garbage Collection bearbeitet wird. Stellen Sie sicher, dass die Anwendung die Beschränkung für verfügbare Threads nicht überschreitet. Um den Thread für die MapField- oder RichMapField-Instanz zu beenden, müssen Sie close() aufrufen, wodurch das Feld als Listener von bestimmten Klassen entfernt und die Garbage Collection gestartet wird.

Codebeispiel: Hinzufügen von einer Karte mithilfe der MapField-Klasse

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

Codebeispiel: Hinzufügen von einer Karte mithilfe der RichMapField-Klasse

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

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.