Eine Karte hinzufügen
Öffnen Sie die Aktivität, der Sie eine Kartenansicht hinzufügen möchten, und verwenden Sie den folgenden Code.
public class SimpleMapActivity extends AppCompatActivity {
private OsmandApplication app;
private OsmandMapTileView mapTileView;
private MapViewWithLayers mapViewWithLayers;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_map_activity);
mapViewWithLayers = findViewById(R.id.map_view_with_layers);
app = (OsmandApplication) getApplication();
mapTileView = app.getOsmandMap().getMapView();
mapTileView.setupOpenGLView();
//set start location and zoom for map
mapTileView.setIntZoom(14);
mapTileView.setLatLon(52.3704312, 4.8904288);
}
}
Öffnen Sie die XML-Layoutdatei der Aktivität und fügen Sie Folgendes hinzu:
<net.osmand.plus.views.MapViewWithLayers
android:id="@+id/map_view_with_layers"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
MapViewWithLayers enthält seine eigenen Lifecycle-Methoden. Damit Ihre App die Lifecycle-Methoden der MapView korrekt aufrufen kann, müssen Sie die folgenden Lifecycle-Methoden in der Aktivität überschreiben, die die MapViewWithLayers enthält, und diese Methoden aufrufen.
@Override
protected void onResume() {
super.onResume();
mapViewWithLayers.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapViewWithLayers.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapViewWithLayers.onDestroy();
}