diff --git a/vtm-jeo-android/src/org/oscim/jeo/android/TestActivity.java b/vtm-jeo-android/src/org/oscim/jeo/android/TestActivity.java index 8128a707..5a40cd79 100644 --- a/vtm-jeo-android/src/org/oscim/jeo/android/TestActivity.java +++ b/vtm-jeo-android/src/org/oscim/jeo/android/TestActivity.java @@ -1,9 +1,9 @@ package org.oscim.jeo.android; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; import java.util.Arrays; import org.jeo.data.VectorDataset; @@ -23,7 +23,6 @@ import org.slf4j.LoggerFactory; import android.content.Context; import android.os.Bundle; -import android.os.Environment; import android.view.View; import android.widget.Toast; import android.widget.ToggleButton; @@ -31,11 +30,9 @@ import android.widget.ToggleButton; public class TestActivity extends MapActivity { public static final Logger log = LoggerFactory.getLogger(TestActivity.class); - //String PATH = "http://opensciencemap.org/featureserver/featureserver.cgi/osm_indoor"; - // from http://overpass-turbo.eu/s/2vp - String PATH = "https://gist.github.com/hjanetzek/8959418/raw/overpass.geojson"; - //String PATH = "https://gist.github.com/anonymous/8960337/raw/overpass.geojson"; + String PATH = "https://gist.github.com/anonymous/8960337/raw/overpass.geojson"; + //String PATH = "https://gist.github.com/hjanetzek/9280925/raw/overpass.geojson"; private OSMIndoorLayer mIndoorLayer; @@ -52,13 +49,13 @@ public class TestActivity extends MapActivity { showToast("load data"); InputStream is = null; try { - File file = new File(Environment.getExternalStorageDirectory() - .getAbsolutePath(), "osmindoor.json"); - is = new FileInputStream(file); + //File file = new File(Environment.getExternalStorageDirectory() + // .getAbsolutePath(), "osmindoor.json"); + //is = new FileInputStream(file); - //URL url = new URL(PATH); - //URLConnection conn = url.openConnection(); - //is = conn.getInputStream(); + URL url = new URL(PATH); + URLConnection conn = url.openConnection(); + is = conn.getInputStream(); loadJson(is); } catch (IOException e) { e.printStackTrace(); @@ -73,8 +70,8 @@ public class TestActivity extends MapActivity { mMap.layers().add(new LabelLayer(mMap, baseLayer)); mMap.setTheme(VtmThemes.TRON2); - mMap.setMapPosition(49.417, 8.673, 1 << 17); - // mMap.setMapPosition(53.5620092, 9.9866457, 1 << 16); + //mMap.setMapPosition(49.417, 8.673, 1 << 17); + mMap.setMapPosition(53.5620092, 9.9866457, 1 << 16); // mMap.layers().add(new TileGridLayer(mMap)); // String file = Environment.getExternalStorageDirectory().getAbsolutePath(); diff --git a/vtm-jeo/src/org/oscim/layers/OSMIndoorLayer.java b/vtm-jeo/src/org/oscim/layers/OSMIndoorLayer.java index e1f8d4c0..11139ea8 100644 --- a/vtm-jeo/src/org/oscim/layers/OSMIndoorLayer.java +++ b/vtm-jeo/src/org/oscim/layers/OSMIndoorLayer.java @@ -71,11 +71,13 @@ public class OSMIndoorLayer extends JeoVectorLayer { LineLayer ll = t.layers.getLineLayer(level * 3 + 1); + boolean active = activeLevels[level + 1]; + if (ll.line == null) { float width = rule.number(f, CartoCSS.LINE_WIDTH, 1.2f); int color = Color.rainbow((level + 1) / 10f); - if (level > -2 && !activeLevels[level + 1]) + if (level > -2 && !active) color = Color.fade(color, 0.1f); ll.line = new Line(0, color, width); @@ -86,7 +88,7 @@ public class OSMIndoorLayer extends JeoVectorLayer { MeshLayer mesh = t.layers.getMeshLayer(level * 3); if (mesh.area == null) { int color = JeoUtils.color(rule.color(f, CartoCSS.POLYGON_FILL, RGB.red)); - if (level > -2 && !activeLevels[level + 1]) + if (level > -2 && !active) color = Color.fade(color, 0.1f); mesh.area = new Area(color); @@ -96,20 +98,22 @@ public class OSMIndoorLayer extends JeoVectorLayer { addPolygon(t, g, mesh, ll); - Object o = f.get("name"); - if (o instanceof String) { - float x = 0; - float y = 0; - int n = mGeom.index[0]; - for (int i = 0; i < n;) { - x += mGeom.points[i++]; - y += mGeom.points[i++]; + if (active) { + Object o = f.get("name"); + if (o instanceof String) { + float x = 0; + float y = 0; + int n = mGeom.index[0]; + for (int i = 0; i < n;) { + x += mGeom.points[i++]; + y += mGeom.points[i++]; + } + + TextItem ti = TextItem.pool.get(); + ti.set(x / (n / 2) / 8, y / (n / 2) / 8, (String) o, mText); + + mTextLayer.addText(ti); } - - TextItem ti = TextItem.pool.get(); - ti.set(x / (n / 2) / 8, y / (n / 2) / 8, (String) o, mText); - - mTextLayer.addText(ti); } }