refactor VectorTileMap
This commit is contained in:
@@ -17,9 +17,7 @@ package org.mapsforge.android;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
import org.mapsforge.android.inputhandling.MapMover;
|
||||
import org.mapsforge.android.inputhandling.TouchHandler;
|
||||
import org.mapsforge.android.inputhandling.ZoomAnimator;
|
||||
import org.mapsforge.android.mapgenerator.JobParameters;
|
||||
import org.mapsforge.android.mapgenerator.JobQueue;
|
||||
import org.mapsforge.android.mapgenerator.JobTheme;
|
||||
@@ -33,15 +31,14 @@ import org.mapsforge.android.rendertheme.InternalRenderTheme;
|
||||
import org.mapsforge.android.utils.GlConfigChooser;
|
||||
import org.mapsforge.core.GeoPoint;
|
||||
import org.mapsforge.core.MapPosition;
|
||||
import org.mapsforge.mapdatabase.FileOpenResult;
|
||||
import org.mapsforge.mapdatabase.IMapDatabase;
|
||||
import org.mapsforge.mapdatabase.mapfile.MapDatabase;
|
||||
import org.mapsforge.database.FileOpenResult;
|
||||
import org.mapsforge.database.IMapDatabase;
|
||||
import org.mapsforge.database.mapfile.MapDatabase;
|
||||
|
||||
import android.content.Context;
|
||||
import android.opengl.GLSurfaceView;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
/**
|
||||
@@ -70,14 +67,15 @@ public class MapView extends GLSurfaceView {
|
||||
private static final float DEFAULT_TEXT_SCALE = 1;
|
||||
|
||||
private final MapController mMapController;
|
||||
private final MapMover mMapMover;
|
||||
// private final MapMover mMapMover;
|
||||
// private final ZoomAnimator mZoomAnimator;
|
||||
|
||||
private final MapScaleBar mMapScaleBar;
|
||||
private final MapViewPosition mMapViewPosition;
|
||||
|
||||
private final MapZoomControls mMapZoomControls;
|
||||
private final Projection mProjection;
|
||||
private final TouchHandler mTouchEventHandler;
|
||||
private final ZoomAnimator mZoomAnimator;
|
||||
|
||||
private IMapDatabase mMapDatabase;
|
||||
private MapGenerator mMapGenerator;
|
||||
@@ -151,10 +149,10 @@ public class MapView extends GLSurfaceView {
|
||||
mJobQueue = new JobQueue(this);
|
||||
mMapWorker = new MapWorker(this);
|
||||
mMapWorker.start();
|
||||
mMapMover = new MapMover(this);
|
||||
mMapMover.start();
|
||||
mZoomAnimator = new ZoomAnimator(this);
|
||||
mZoomAnimator.start();
|
||||
// mMapMover = new MapMover(this);
|
||||
// mMapMover.start();
|
||||
// mZoomAnimator = new ZoomAnimator(this);
|
||||
// mZoomAnimator.start();
|
||||
|
||||
setMapGeneratorInternal(mapGenerator);
|
||||
|
||||
@@ -232,12 +230,12 @@ public class MapView extends GLSurfaceView {
|
||||
return mMapGenerator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the MapMover which is used by this MapView.
|
||||
*/
|
||||
public MapMover getMapMover() {
|
||||
return mMapMover;
|
||||
}
|
||||
// /**
|
||||
// * @return the MapMover which is used by this MapView.
|
||||
// */
|
||||
// public MapMover getMapMover() {
|
||||
// return mMapMover;
|
||||
// }
|
||||
|
||||
/**
|
||||
* @return the current position and zoom level of this MapView.
|
||||
@@ -267,32 +265,32 @@ public class MapView extends GLSurfaceView {
|
||||
return mProjection;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the ZoomAnimator is currently running, false otherwise.
|
||||
*/
|
||||
public boolean isZoomAnimatorRunning() {
|
||||
return mZoomAnimator.isExecuting();
|
||||
}
|
||||
// /**
|
||||
// * @return true if the ZoomAnimator is currently running, false otherwise.
|
||||
// */
|
||||
// public boolean isZoomAnimatorRunning() {
|
||||
// return mZoomAnimator.isExecuting();
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
|
||||
return mMapMover.onKeyDown(keyCode, keyEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyUp(int keyCode, KeyEvent keyEvent) {
|
||||
return mMapMover.onKeyUp(keyCode, keyEvent);
|
||||
}
|
||||
// @Override
|
||||
// public boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
|
||||
// return mMapMover.onKeyDown(keyCode, keyEvent);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean onKeyUp(int keyCode, KeyEvent keyEvent) {
|
||||
// return mMapMover.onKeyUp(keyCode, keyEvent);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent motionEvent) {
|
||||
return mTouchEventHandler.handleMotionEvent(motionEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTrackballEvent(MotionEvent motionEvent) {
|
||||
return mMapMover.onTrackballEvent(motionEvent);
|
||||
}
|
||||
// @Override
|
||||
// public boolean onTrackballEvent(MotionEvent motionEvent) {
|
||||
// return mMapMover.onTrackballEvent(motionEvent);
|
||||
// }
|
||||
|
||||
/**
|
||||
* Calculates all necessary tiles and adds jobs accordingly.
|
||||
@@ -365,17 +363,16 @@ public class MapView extends GLSurfaceView {
|
||||
return false;
|
||||
}
|
||||
|
||||
mZoomAnimator.pause();
|
||||
// mZoomAnimator.pause();
|
||||
// mMapMover.pause();
|
||||
mMapWorker.pause();
|
||||
mMapMover.pause();
|
||||
mZoomAnimator.awaitPausing();
|
||||
mMapMover.awaitPausing();
|
||||
// mZoomAnimator.awaitPausing();
|
||||
// mMapMover.awaitPausing();
|
||||
mMapWorker.awaitPausing();
|
||||
mMapMover.stopMove();
|
||||
|
||||
mZoomAnimator.proceed();
|
||||
// mZoomAnimator.proceed();
|
||||
// mMapMover.stopMove();
|
||||
// mMapMover.proceed();
|
||||
mMapWorker.proceed();
|
||||
mMapMover.proceed();
|
||||
|
||||
mMapDatabase.closeFile();
|
||||
FileOpenResult fileOpenResult = mMapDatabase.openFile(new File(mapFile));
|
||||
@@ -588,9 +585,9 @@ public class MapView extends GLSurfaceView {
|
||||
}
|
||||
|
||||
void destroy() {
|
||||
mMapMover.interrupt();
|
||||
// mMapMover.interrupt();
|
||||
mMapWorker.interrupt();
|
||||
mZoomAnimator.interrupt();
|
||||
// mZoomAnimator.interrupt();
|
||||
|
||||
try {
|
||||
mMapWorker.join();
|
||||
@@ -617,10 +614,9 @@ public class MapView extends GLSurfaceView {
|
||||
boolean hasValidCenter() {
|
||||
if (!mMapViewPosition.isValid()) {
|
||||
return false;
|
||||
} else if (!mMapGenerator.requiresInternetConnection() &&
|
||||
(!mMapDatabase.hasOpenFile() ||
|
||||
!mMapDatabase.getMapFileInfo().boundingBox
|
||||
.contains(getMapPosition().getMapCenter()))) {
|
||||
} else if (!mMapGenerator.requiresInternetConnection()
|
||||
&& (!mMapDatabase.hasOpenFile() || !mMapDatabase.getMapFileInfo().boundingBox.contains(getMapPosition()
|
||||
.getMapCenter()))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -635,16 +631,16 @@ public class MapView extends GLSurfaceView {
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
mMapWorker.pause();
|
||||
mMapMover.pause();
|
||||
mZoomAnimator.pause();
|
||||
// mMapMover.pause();
|
||||
// mZoomAnimator.pause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
mMapWorker.proceed();
|
||||
mMapMover.proceed();
|
||||
mZoomAnimator.proceed();
|
||||
// mMapMover.proceed();
|
||||
// mZoomAnimator.proceed();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.mapsforge.core.GeoPoint;
|
||||
import org.mapsforge.core.SphericalMercator;
|
||||
import org.mapsforge.core.Tag;
|
||||
import org.mapsforge.core.Tile;
|
||||
import org.mapsforge.mapdatabase.IMapDatabase;
|
||||
import org.mapsforge.mapdatabase.IMapDatabaseCallback;
|
||||
import org.mapsforge.mapdatabase.MapFileInfo;
|
||||
import org.mapsforge.database.IMapDatabase;
|
||||
import org.mapsforge.database.IMapDatabaseCallback;
|
||||
import org.mapsforge.database.MapFileInfo;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
*/
|
||||
package org.mapsforge.android.mapgenerator;
|
||||
|
||||
import org.mapsforge.mapdatabase.IMapDatabase;
|
||||
import org.mapsforge.database.IMapDatabase;
|
||||
|
||||
import android.util.AttributeSet;
|
||||
|
||||
@@ -33,7 +33,7 @@ public final class MapDatabaseFactory {
|
||||
public static IMapDatabase createMapDatabase(AttributeSet attributeSet) {
|
||||
String mapDatabaseName = attributeSet.getAttributeValue(null, MAP_DATABASE_ATTRIBUTE_NAME);
|
||||
if (mapDatabaseName == null) {
|
||||
return new org.mapsforge.mapdatabase.mapfile.MapDatabase();
|
||||
return new org.mapsforge.database.mapfile.MapDatabase();
|
||||
}
|
||||
|
||||
MapDatabaseInternal mapDatabaseInternal = MapDatabaseInternal.valueOf(mapDatabaseName);
|
||||
@@ -48,11 +48,11 @@ public final class MapDatabaseFactory {
|
||||
public static IMapDatabase createMapDatabase(MapDatabaseInternal mapDatabaseInternal) {
|
||||
switch (mapDatabaseInternal) {
|
||||
case MAP_READER:
|
||||
return new org.mapsforge.mapdatabase.mapfile.MapDatabase();
|
||||
return new org.mapsforge.database.mapfile.MapDatabase();
|
||||
case JSON_READER:
|
||||
return new org.mapsforge.mapdatabase.json.MapDatabase();
|
||||
return new org.mapsforge.database.json.MapDatabase();
|
||||
case POSTGIS_READER:
|
||||
return new org.mapsforge.mapdatabase.postgis.MapDatabase();
|
||||
return new org.mapsforge.database.postgis.MapDatabase();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ package org.mapsforge.android.mapgenerator;
|
||||
import org.mapsforge.android.MapRenderer;
|
||||
import org.mapsforge.android.MapView;
|
||||
import org.mapsforge.core.GeoPoint;
|
||||
import org.mapsforge.mapdatabase.IMapDatabase;
|
||||
import org.mapsforge.database.IMapDatabase;
|
||||
|
||||
/**
|
||||
* A MapGenerator provides map tiles either by downloading or rendering them.
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
stroke-linecap="butt" />
|
||||
</rule>
|
||||
<rule e="way" k="*" v="track|footway|path|cycleway" zoom-min="16">
|
||||
<line stroke="#c1bcb6" stroke-width="0.25" stroke-linecap="butt" />
|
||||
<line stroke="#c1bcb6" stroke-width="0.2" stroke-linecap="butt" />
|
||||
</rule>
|
||||
</rule>
|
||||
|
||||
|
||||
@@ -33,10 +33,10 @@ import org.mapsforge.android.rendertheme.renderinstruction.Line;
|
||||
import org.mapsforge.core.GeoPoint;
|
||||
import org.mapsforge.core.Tag;
|
||||
import org.mapsforge.core.Tile;
|
||||
import org.mapsforge.mapdatabase.IMapDatabase;
|
||||
import org.mapsforge.mapdatabase.IMapDatabaseCallback;
|
||||
import org.mapsforge.mapdatabase.MapFileInfo;
|
||||
import org.mapsforge.mapdatabase.mapfile.MapDatabase;
|
||||
import org.mapsforge.database.IMapDatabase;
|
||||
import org.mapsforge.database.IMapDatabaseCallback;
|
||||
import org.mapsforge.database.MapFileInfo;
|
||||
import org.mapsforge.database.mapfile.MapDatabase;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
Reference in New Issue
Block a user