libGDX layer gestures, closes #151

This commit is contained in:
Emux
2016-08-23 14:03:09 +03:00
parent 46f4d592d3
commit ebd07950a4
4 changed files with 127 additions and 8 deletions

View File

@@ -21,6 +21,7 @@ import com.badlogic.gdx.Application;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputMultiplexer;
import com.badlogic.gdx.input.GestureDetector;
import com.badlogic.gdx.utils.Timer;
import com.badlogic.gdx.utils.Timer.Task;
@@ -33,15 +34,12 @@ import org.oscim.map.Map;
import org.oscim.renderer.MapRenderer;
import org.oscim.theme.VtmThemes;
import org.oscim.tiling.TileSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class GdxMap implements ApplicationListener {
final static Logger log = LoggerFactory.getLogger(GdxMap.class);
protected Map mMap;
protected GestureDetector mGestureDetector;
VectorTileLayer mMapLayer;
private MapRenderer mMapRenderer;
public GdxMap() {
@@ -52,14 +50,14 @@ public abstract class GdxMap implements ApplicationListener {
Layers layers = mMap.layers();
if (tileSource != null) {
mMapLayer = mMap.setBaseMap(tileSource);
VectorTileLayer mapLayer = mMap.setBaseMap(tileSource);
mMap.setTheme(VtmThemes.DEFAULT);
if (buildings)
layers.add(new BuildingLayer(mMap, mMapLayer));
layers.add(new BuildingLayer(mMap, mapLayer));
if (labels)
layers.add(new LabelLayer(mMap, mMapLayer));
layers.add(new LabelLayer(mMap, mapLayer));
}
if (tileGrid)
@@ -82,6 +80,8 @@ public abstract class GdxMap implements ApplicationListener {
mMapRenderer.onSurfaceChanged(w, h);
InputMultiplexer mux = new InputMultiplexer();
mGestureDetector = new GestureDetector(new LayerHandler(mMap));
mux.addProcessor(mGestureDetector);
mux.addProcessor(new InputHandler(this));
//mux.addProcessor(new GestureDetector(20, 0.5f, 2, 0.05f,
// new MapController(mMap)));