@Override
public void render(final Bbox bounds) {
if (rasterLayer.isShowing()) {
if (currentTileBounds != null && BboxService.contains(currentTileBounds, bounds)) {
onScaleRendered(container, scale);
return;
}
currentTileBounds = BboxService.scale(bounds, mapExtentScaleAtFetch);
GetRasterTilesRequest request = new GetRasterTilesRequest();
request.setBbox(new org.geomajas.geometry.Bbox(currentTileBounds.getX(), currentTileBounds.getY(),
currentTileBounds.getWidth(), currentTileBounds.getHeight()));
request.setCrs(crs);
request.setLayerId(rasterLayer.getServerLayerId());
request.setScale(scale);
GwtCommand command = new GwtCommand(GetRasterTilesRequest.COMMAND);
command.setCommandRequest(request);
deferred = commandService.execute(command, new AbstractCommandCallback<GetRasterTilesResponse>() {
public void execute(GetRasterTilesResponse response) {
addTiles(response.getRasterData());
}
});
}
}