diff --git a/vtm/src/org/oscim/tiling/MapTile.java b/vtm/src/org/oscim/tiling/MapTile.java index b68544bc..8bdb5429 100644 --- a/vtm/src/org/oscim/tiling/MapTile.java +++ b/vtm/src/org/oscim/tiling/MapTile.java @@ -69,8 +69,8 @@ public class MapTile extends Tile { /** * absolute tile coordinates: tileX,Y / Math.pow(2, zoomLevel) */ - public double x; - public double y; + public final double x; + public final double y; /** * distance from map center @@ -102,7 +102,7 @@ public class MapTile extends Tile { /** * Pointer to access relatives in QuadTree */ - public TileNode node; + public final TileNode node; /** * to avoid drawing a tile twice per frame @@ -141,10 +141,11 @@ public class MapTile extends Tile { // e.g. x:-1,y:0,z:1 for x:1,y:0 MapTile holder; - public MapTile(int tileX, int tileY, byte zoomLevel) { + public MapTile(TileNode node, int tileX, int tileY, byte zoomLevel) { super(tileX, tileY, zoomLevel); this.x = (double) tileX / (1 << zoomLevel); this.y = (double) tileY / (1 << zoomLevel); + this.node = node; } /** diff --git a/vtm/src/org/oscim/tiling/TileManager.java b/vtm/src/org/oscim/tiling/TileManager.java index c476c7da..51c843a3 100644 --- a/vtm/src/org/oscim/tiling/TileManager.java +++ b/vtm/src/org/oscim/tiling/TileManager.java @@ -90,8 +90,7 @@ public class TileManager { @Override public MapTile create(int x, int y, int z) { TileNode t = super.add(x, y, z); - t.item = new MapTile(x, y, (byte) z); - t.item.node = t; + t.item = new MapTile(t, x, y, (byte) z); return t.item; } @@ -106,7 +105,6 @@ public class TileManager { super.remove(t.node); t.node.item = null; - t.node = null; } @Override diff --git a/vtm/src/org/oscim/tiling/TileRenderer.java b/vtm/src/org/oscim/tiling/TileRenderer.java index 5ad968a5..96ba5a59 100644 --- a/vtm/src/org/oscim/tiling/TileRenderer.java +++ b/vtm/src/org/oscim/tiling/TileRenderer.java @@ -405,7 +405,7 @@ public class TileRenderer extends LayerRenderer { //log.error(" + mNumTileHolder"); break; } - MapTile holder = new MapTile(x, y, (byte) mZoom); + MapTile holder = new MapTile(null, x, y, (byte) mZoom); holder.isVisible = true; holder.holder = tile; tile.isVisible = true;