android: remove MapActivity
- see vtm-android-start for an example use of MapView - add MapPreferences - update android-start - android-example: use appcompat actionbar
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name">
|
||||
<!-- android:theme="@style/AppTheme" -->
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme" >
|
||||
<activity
|
||||
android:name="org.oscim.android.test.Samples"
|
||||
android:label="@string/app_name" >
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
android:id="@+id/controls"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#cc000000"
|
||||
android:background="#ccdddddd"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar" />
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light" />
|
||||
|
||||
</resources>
|
||||
@@ -16,8 +16,6 @@
|
||||
*/
|
||||
package org.oscim.android.test;
|
||||
|
||||
import org.oscim.android.MapActivity;
|
||||
import org.oscim.android.MapView;
|
||||
import org.oscim.android.cache.TileCache;
|
||||
import org.oscim.core.MapPosition;
|
||||
import org.oscim.layers.TileGridLayer;
|
||||
@@ -37,30 +35,22 @@ public class BaseMapActivity extends MapActivity {
|
||||
|
||||
final static boolean USE_CACHE = true;
|
||||
|
||||
MapView mMapView;
|
||||
VectorTileLayer mBaseLayer;
|
||||
TileSource mTileSource;
|
||||
TileGridLayer mGridLayer;
|
||||
|
||||
private TileCache mCache;
|
||||
|
||||
protected final int mContentView;
|
||||
|
||||
public BaseMapActivity(int contentView) {
|
||||
mContentView = contentView;
|
||||
super(contentView);
|
||||
}
|
||||
|
||||
public BaseMapActivity() {
|
||||
this(R.layout.activity_map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(mContentView);
|
||||
|
||||
mMapView = (MapView) findViewById(R.id.mapView);
|
||||
registerMapView(mMapView);
|
||||
|
||||
mTileSource = new OSciMap4TileSource();
|
||||
|
||||
@@ -76,7 +66,6 @@ public class BaseMapActivity extends MapActivity {
|
||||
mMap.getMapPosition(pos);
|
||||
if (pos.x == 0.5 && pos.y == 0.5)
|
||||
mMap.setMapPosition(53.08, 8.83, Math.pow(2, 16));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,7 +77,7 @@ public class BaseMapActivity extends MapActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(int featureId, MenuItem item) {
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.theme_default:
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
*/
|
||||
package org.oscim.android.test;
|
||||
|
||||
import org.oscim.android.MapActivity;
|
||||
import org.oscim.android.MapView;
|
||||
import org.oscim.android.cache.TileCache;
|
||||
import org.oscim.backend.canvas.Color;
|
||||
import org.oscim.core.MapPosition;
|
||||
@@ -23,44 +21,51 @@ import org.oscim.core.MercatorProjection;
|
||||
import org.oscim.layers.TileGridLayer;
|
||||
import org.oscim.layers.tile.bitmap.BitmapTileLayer;
|
||||
import org.oscim.renderer.MapRenderer;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.bitmap.BitmapTileSource;
|
||||
import org.oscim.tiling.source.bitmap.DefaultSources;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
public class BitmapTileMapActivity extends MapActivity {
|
||||
|
||||
static final Logger log = LoggerFactory.getLogger(BitmapTileMapActivity.class);
|
||||
|
||||
private final static boolean USE_CACHE = true;
|
||||
|
||||
private final TileSource mTileSource;
|
||||
private final BitmapTileSource mTileSource;
|
||||
protected BitmapTileLayer mBitmapLayer;
|
||||
|
||||
public BitmapTileMapActivity() {
|
||||
//mTileSource = DefaultSources.STAMEN_TONER.build();
|
||||
mTileSource = DefaultSources.OPENSTREETMAP.build();
|
||||
this(DefaultSources.OPENSTREETMAP.build());
|
||||
}
|
||||
|
||||
public BitmapTileMapActivity(TileSource tileSource) {
|
||||
public BitmapTileMapActivity(BitmapTileSource tileSource) {
|
||||
super(R.layout.activity_map);
|
||||
mTileSource = tileSource;
|
||||
}
|
||||
|
||||
MapView mMapView;
|
||||
|
||||
private TileCache mCache;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_map);
|
||||
|
||||
mMapView = (MapView) findViewById(R.id.mapView);
|
||||
registerMapView(mMapView);
|
||||
|
||||
MapRenderer.setBackgroundColor(0xff777777);
|
||||
mMap.layers().add(new TileGridLayer(mMap, Color.GRAY, 1.8f, 8));
|
||||
|
||||
if (mTileSource == null)
|
||||
return;
|
||||
|
||||
if (USE_CACHE) {
|
||||
mCache = new TileCache(this, null, mTileSource.getClass().getSimpleName());
|
||||
String cacheFile = mTileSource.getUrl()
|
||||
.toString()
|
||||
.replaceFirst("https?://", "")
|
||||
.replaceAll("/", "-");
|
||||
|
||||
log.debug("use bitmap cache {}", cacheFile);
|
||||
mCache = new TileCache(this, null, cacheFile);
|
||||
mCache.setCacheSize(512 * (1 << 10));
|
||||
mTileSource.setCache(mCache);
|
||||
}
|
||||
@@ -74,7 +79,7 @@ public class BitmapTileMapActivity extends MapActivity {
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (USE_CACHE)
|
||||
if (mCache != null)
|
||||
mCache.dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package org.oscim.android.test;
|
||||
|
||||
import org.oscim.android.MapPreferences;
|
||||
import org.oscim.android.MapView;
|
||||
import org.oscim.map.Map;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
|
||||
public abstract class MapActivity extends ActionBarActivity {
|
||||
public static final Logger log = LoggerFactory.getLogger(MapActivity.class);
|
||||
MapView mMapView;
|
||||
Map mMap;
|
||||
MapPreferences mPrefs;
|
||||
|
||||
protected final int mContentView;
|
||||
|
||||
public MapActivity(int contentView) {
|
||||
mContentView = contentView;
|
||||
}
|
||||
|
||||
public MapActivity() {
|
||||
this(R.layout.activity_map);
|
||||
}
|
||||
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(mContentView);
|
||||
|
||||
mMapView = (MapView) findViewById(R.id.mapView);
|
||||
mMap = mMapView.map();
|
||||
mPrefs = new MapPreferences(MapActivity.class.getName(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
mPrefs.load(mMapView.map());
|
||||
mMapView.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
||||
mMapView.onPause();
|
||||
mPrefs.save(mMapView.map());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,7 +14,6 @@
|
||||
*/
|
||||
package org.oscim.android.test;
|
||||
|
||||
import org.oscim.android.MapActivity;
|
||||
import org.oscim.android.MapView;
|
||||
import org.oscim.android.filepicker.FilePicker;
|
||||
import org.oscim.android.filepicker.FilterByFileExtension;
|
||||
@@ -42,10 +41,6 @@ public class MapsforgeMapActivity extends MapActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_map);
|
||||
|
||||
mMapView = (MapView) findViewById(R.id.mapView);
|
||||
registerMapView(mMapView);
|
||||
|
||||
startActivityForResult(new Intent(this, MapFilePicker.class),
|
||||
SELECT_MAP_FILE);
|
||||
@@ -65,7 +60,7 @@ public class MapsforgeMapActivity extends MapActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(int featureId, MenuItem item) {
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.theme_default:
|
||||
|
||||
@@ -84,7 +84,14 @@ public class MarkerOverlayActivity extends BitmapTileMapActivity
|
||||
markerLayer.addItems(pts);
|
||||
|
||||
mMap.layers().add(new TileGridLayer(mMap));
|
||||
mMap.setMapPosition(0, 0, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
/* ignore saved position */
|
||||
mMap.setMapPosition(0, 0, 1 << 2);
|
||||
mMapView.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,7 +16,6 @@ package org.oscim.android.test;
|
||||
|
||||
import static org.oscim.tiling.source.bitmap.DefaultSources.STAMEN_TONER;
|
||||
|
||||
import org.oscim.android.MapActivity;
|
||||
import org.oscim.android.MapView;
|
||||
import org.oscim.layers.TileGridLayer;
|
||||
import org.oscim.layers.tile.bitmap.BitmapTileLayer;
|
||||
@@ -43,10 +42,6 @@ public class OsmJsonMapActivity extends MapActivity {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_map);
|
||||
|
||||
mMapView = (MapView) findViewById(R.id.mapView);
|
||||
registerMapView(mMapView);
|
||||
|
||||
mTileSource = new OsmWaterJsonTileSource();
|
||||
|
||||
|
||||
@@ -41,11 +41,17 @@ public class PathOverlayActivity extends BitmapTileMapActivity {
|
||||
|
||||
createLayers(1, true);
|
||||
|
||||
mMap.setMapPosition(0, 0, 1 << 2);
|
||||
|
||||
looooop();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
/* ignore saved position */
|
||||
mMap.setMapPosition(0, 0, 1 << 2);
|
||||
mMapView.onResume();
|
||||
}
|
||||
|
||||
void looooop() {
|
||||
mMap.postDelayed(new Runnable() {
|
||||
@Override
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.oscim.core.MercatorProjection;
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||
import org.oscim.map.Layers;
|
||||
import org.oscim.map.Map;
|
||||
import org.oscim.theme.IRenderTheme;
|
||||
import org.oscim.theme.ThemeLoader;
|
||||
import org.oscim.theme.VtmThemes;
|
||||
@@ -33,14 +32,13 @@ public class SimpleMapActivity extends BaseMapActivity {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Map m = this.map();
|
||||
|
||||
Layers layers = mMap.layers();
|
||||
layers.add(new BuildingLayer(mMap, mBaseLayer));
|
||||
layers.add(new LabelLayer(mMap, mBaseLayer));
|
||||
layers.add(new MapScaleBar(mMapView));
|
||||
|
||||
m.setTheme(VtmThemes.DEFAULT);
|
||||
mMap.setTheme(VtmThemes.DEFAULT);
|
||||
}
|
||||
|
||||
void runTheMonkey() {
|
||||
|
||||
Reference in New Issue
Block a user