/*
* Copyright 2018 devemux86
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see
* You'll need a map with filename germany.map from download.mapsforge.org in device storage. * Can be berlin.map renamed as germany.map because of smaller size. */ public class GettingStarted extends Activity { // Name of the map file in device storage private static final String MAP_FILE = "germany.map"; private MapView mapView; private MapScaleBar mapScaleBar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Map view mapView = new MapView(this); setContentView(mapView); // Tile source MapFileTileSource tileSource = new MapFileTileSource(); String mapPath = new File(Environment.getExternalStorageDirectory(), MAP_FILE).getAbsolutePath(); if (tileSource.setMapFile(mapPath)) { // Vector layer VectorTileLayer tileLayer = mapView.map().setBaseMap(tileSource); // Building layer mapView.map().layers().add(new BuildingLayer(mapView.map(), tileLayer)); // Label layer mapView.map().layers().add(new LabelLayer(mapView.map(), tileLayer)); // Render theme mapView.map().setTheme(VtmThemes.DEFAULT); // Scale bar mapScaleBar = new DefaultMapScaleBar(mapView.map()); MapScaleBarLayer mapScaleBarLayer = new MapScaleBarLayer(mapView.map(), mapScaleBar); mapScaleBarLayer.getRenderer().setPosition(GLViewport.Position.BOTTOM_LEFT); mapScaleBarLayer.getRenderer().setOffset(5 * CanvasAdapter.getScale(), 0); mapView.map().layers().add(mapScaleBarLayer); // Note: this map position is specific to Berlin area mapView.map().setMapPosition(52.517037, 13.38886, 1 << 12); } } @Override protected void onResume() { super.onResume(); mapView.onResume(); } @Override protected void onPause() { mapView.onPause(); super.onPause(); } @Override protected void onDestroy() { if (mapScaleBar != null) mapScaleBar.destroy(); mapView.onDestroy(); super.onDestroy(); } }