Додати мапу
Відкрийте активність, до якої ви хочете додати вигляд мапи, та використайте код нижче.
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);
}
}
Відкрийте XML-файл макету активності та додайте наступне:
<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 містить власні методи життєвого циклу. Щоб ваша програма правильно викликала методи життєвого циклу MapView, ви повинні перевизначити наступні методи життєвого циклу в Активності, яка містить MapViewWithLayers, та вик ликати ці методи.
@Override
protected void onResume() {
super.onResume();
mapViewWithLayers.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapViewWithLayers.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapViewWithLayers.onDestroy();
}