Markieren und Festlegen der Sichtbarkeit von Standorten auf einer Karte

Sie können Orten Markierungen zuweisen, die in einer MapDataModel-Klasse gespeichert sind. Jede MapField-Klasse hat eine zugewiesene MapDataModel-Instanz. Die MapDataModel-Klasse, die im net.rim.device.api.lbs.maps.model-Paket bereitgestellt ist, stellt einen Container dar. Sie können Orte und zugewiesene Daten für die Orte durch Aufrufen von MapDataModel.add() zum Container hinzufügen. Alle Elemente und ihre zugewiesenen Daten gelten als auf einer Karte anzeigbare Elemente im Container.

Sie können auf einer Karte anzeigbare Elemente durch Zuweisen von Tags zu den Elementen anordnen (z. B. haben alle Arbeitsorte das Tag „Arbeit“). Sie können MapDataModel.add() oder MapDataModel.tag() aufrufen, um abbildbare Elemente in einem MapDataModel-Container zu markieren. Mit der add()-Methode können Sie ein abbildbares Element zum Container hinzufügen und eine Markierung für das Element festlegen. Mit der tag()-Methode können Sie eine Markierung für ein einzelnes abbildbares Element festlegen, das im Container ist. Mehrere Standorte können das gleiche Tag haben (z. B. können alle RIM Büros mit dem Tag „RIM“ versehen werden), und ein einzelner Ort kann mehrere Tags haben (z. B. kann ein Wohnsitz Tag für „Sarah“ und „Paul“ haben).

Sie können festlegen, welche der markierten und in MapDataModel gespeicherten Elemente auf einer Karte sichtbar oder ausgeblendet sind. Standardmäßig sind alle Elemente in MapDataModel sichtbar. Z. B. können Sie das Tag „Park“ zu mehreren Standorten hinzufügen und festlegen, dass nur Standorte mit dem Tag „Park“ auf der Karte angezeigt werden. Sie können die Elemente festlegen, die auf der Karte sichtbar sind, idem Sie zuerst MapDataModel.setVisibleNone() aufrufen, um die Sichtbarkeit für alle Elemente auszuschalten und MapDataModel.setVisible() anschließend die Sichtbarkeit für die festgelegten Elemente einzuschalten.

Codebeispiel: Markieren von Standorten mit der MapDataModel.add()-Methode

Im folgenden Codebeispiel werden drei Orte definiert und anschließend durch Aufrufen der MapDataModel.add()-Methode hinzugefügt und markiert. Nur die Orte, die mit dem Tag „RIM“ versehen sind, sind auf der Karte sichtbar.

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" );

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.