use TILE_LOADED event to trigger labeling

This commit is contained in:
Hannes Janetzek 2014-02-08 03:42:28 +01:00
parent a26dea0065
commit b0ebe7e0cf

View File

@ -89,12 +89,7 @@ public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateLi
@Override @Override
public void onDetach() { public void onDetach() {
// TODO stop and clear labeling thread
log.debug("DETACH");
// clear labels
mWorker.cancel(true); mWorker.cancel(true);
super.onDetach(); super.onDetach();
} }
@ -103,6 +98,7 @@ public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateLi
if (clear) if (clear)
mWorker.cancel(true); mWorker.cancel(true);
if (changed || clear)
mWorker.submit(MAX_RELABEL_DELAY); mWorker.submit(MAX_RELABEL_DELAY);
} }
@ -126,9 +122,11 @@ public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateLi
@Override @Override
public void onEvent(Object source, Event e, MapTile tile) { public void onEvent(Object source, Event e, MapTile tile) {
if (e == TileManager.TILE_LOADED) { if (e == TileManager.TILE_LOADED) {
log.debug("tile loaded: {}", tile); if (tile.isVisible)
mWorker.submit(MAX_RELABEL_DELAY / 4);
//log.debug("tile loaded: {}", tile);
} else if (e == TileManager.TILE_REMOVED) { } else if (e == TileManager.TILE_REMOVED) {
log.debug("tile removed: {}", tile); //log.debug("tile removed: {}", tile);
} }
} }