diff --git a/vtm-android-app b/vtm-android-app index 6093f289..2173ae1f 160000 --- a/vtm-android-app +++ b/vtm-android-app @@ -1 +1 @@ -Subproject commit 6093f28947a9188f58c6a362d196920dfd5d02c8 +Subproject commit 2173ae1f3f4349c44908a8be97d93fdce6734094 diff --git a/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java b/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java index ccbce436..bcd72fce 100644 --- a/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java @@ -28,7 +28,7 @@ import android.view.Menu; public class BaseMapActivity extends MapActivity { - private final static boolean USE_CACHE = false; + private final static boolean USE_CACHE = true; MapView mMapView; VectorTileLayer mBaseLayer; @@ -42,6 +42,7 @@ public class BaseMapActivity extends MapActivity { setContentView(R.layout.activity_map); mMapView = (MapView) findViewById(R.id.mapView); + registerMapView(mMapView); mTileSource = new OSciMap4TileSource(); mTileSource.setOption("url", "http://opensciencemap.org/tiles/vtm"); diff --git a/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java b/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java index 8953a0db..0d41c00c 100644 --- a/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java @@ -43,6 +43,7 @@ public class MarkerOverlayActivity extends MapActivity implements OnItemGestureL setContentView(R.layout.activity_map); mMapView = (MapView) findViewById(R.id.mapView); + registerMapView(mMapView); MarkerSymbol symbol = AndroidGraphics.makeMarker(getResources(), R.drawable.marker_poi, diff --git a/vtm-android-example/src/org/oscim/android/test/PathOverlayActivity.java b/vtm-android-example/src/org/oscim/android/test/PathOverlayActivity.java index fe5bde6a..3b023845 100644 --- a/vtm-android-example/src/org/oscim/android/test/PathOverlayActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/PathOverlayActivity.java @@ -37,6 +37,7 @@ public class PathOverlayActivity extends MapActivity { setContentView(R.layout.activity_map); mMapView = (MapView) findViewById(R.id.mapView); + registerMapView(mMapView); for (double lon = -180; lon < 180; lon += 5) { List<GeoPoint> pts = new ArrayList<GeoPoint>(); diff --git a/vtm-android/src/org/oscim/android/Compass.java b/vtm-android/src/org/oscim/android/Compass.java index fc8c0099..f8a2148b 100644 --- a/vtm-android/src/org/oscim/android/Compass.java +++ b/vtm-android/src/org/oscim/android/Compass.java @@ -50,9 +50,9 @@ public class Compass { private final SensorManager mSensorManager; private final Sensor mSensor; - public Compass(MapActivity mapActivity, Map map) { + public Compass(Context context, Map map) { mMap = map; - mSensorManager = (SensorManager) mapActivity + mSensorManager = (SensorManager) context .getSystemService(Context.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); diff --git a/vtm-android/src/org/oscim/android/MapActivity.java b/vtm-android/src/org/oscim/android/MapActivity.java index 98a7d092..d45bd2e7 100644 --- a/vtm-android/src/org/oscim/android/MapActivity.java +++ b/vtm-android/src/org/oscim/android/MapActivity.java @@ -45,8 +45,6 @@ public abstract class MapActivity extends Activity { private static final String PREFERENCES_FILE = "MapActivity"; - //private static final String KEY_THEME = "Theme"; - private static boolean containsViewport(SharedPreferences sharedPreferences) { return sharedPreferences.contains(KEY_LATITUDE) && sharedPreferences.contains(KEY_LONGITUDE) @@ -100,8 +98,8 @@ public abstract class MapActivity extends Activity { * @param map * the calling MapView. */ - public final void registerMapView(Map map) { - mMap = map; + public final void registerMapView(MapView map) { + mMap = map.getMap(); SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCES_FILE, MODE_PRIVATE); diff --git a/vtm-android/src/org/oscim/android/MapView.java b/vtm-android/src/org/oscim/android/MapView.java index 5e25afb8..80f058ca 100644 --- a/vtm-android/src/org/oscim/android/MapView.java +++ b/vtm-android/src/org/oscim/android/MapView.java @@ -35,7 +35,6 @@ import android.util.DisplayMetrics; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; -import android.view.View; import android.widget.RelativeLayout; /** @@ -91,9 +90,6 @@ public class MapView extends RelativeLayout { public MapView(Context context, AttributeSet attributeSet) { super(context, attributeSet); - if (!(context instanceof MapActivity)) - throw new IllegalArgumentException("context is not an instance of MapActivity"); - CanvasAdapter.g = AndroidGraphics.INSTANCE; AssetAdapter.g = new AndroidAssetAdapter(context); GLAdapter.g = new AndroidGL(); @@ -108,13 +104,8 @@ public class MapView extends RelativeLayout { // TODO make this dpi dependent Tile.SIZE = 400; - MapActivity mapActivity = (MapActivity) context; - mMap = new AndroidMap(this); - - mCompass = new Compass(mapActivity, mMap); - - mapActivity.registerMapView(mMap); + mCompass = new Compass(context, mMap); mMap.clearMap(); mMap.updateMap(false); @@ -122,9 +113,7 @@ public class MapView extends RelativeLayout { mGestureDetector = new GestureDetector(context, new OnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { - boolean handled = mMap.handleGesture(Gesture.TAP, mMotionEvent.wrap(e)); - mMotionEvent.wrap(null); - return handled; + return mMap.handleGesture(Gesture.TAP, mMotionEvent.wrap(e)); } @Override @@ -139,7 +128,6 @@ public class MapView extends RelativeLayout { @Override public void onLongPress(MotionEvent e) { mMap.handleGesture(Gesture.LONG_PRESS, mMotionEvent.wrap(e)); - mMotionEvent.wrap(null); } @Override @@ -149,34 +137,9 @@ public class MapView extends RelativeLayout { @Override public boolean onDown(MotionEvent e) { - boolean handled = mMap.handleGesture(Gesture.PRESS, mMotionEvent.wrap(e)); - mMotionEvent.wrap(null); - return handled; + return mMap.handleGesture(Gesture.PRESS, mMotionEvent.wrap(e)); } }); - - //mGestureDetector.setOnDoubleTapListener(new OnDoubleTapListener() { - // - // @Override - // public boolean onSingleTapConfirmed(MotionEvent e) { - // return false; - // } - // - // @Override - // public boolean onDoubleTapEvent(MotionEvent e) { - // return false; - // } - // - // @Override - // public boolean onDoubleTap(MotionEvent e) { - // return false; - // } - //}); - - } - - View getView() { - return this; } public Map getMap() { @@ -220,7 +183,6 @@ public class MapView extends RelativeLayout { return true; } - // synchronized ??? @Override protected void onSizeChanged(int width, int height, int oldWidth, int oldHeight) {