Skip to main content

Додати мапу

Відкрийте активність, до якої ви хочете додати вигляд мапи, та використайте код нижче.

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();
}