Package chunmap.service.gmap

Source Code of chunmap.service.gmap.GetTileHelper

/**
* Copyright (c) 2009-2011, chunquedong(YangJiandong)
*
* This file is part of ChunMap project
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE(Version >=3)
*
* History:
*     2010-05-05  Jed Young  Creation
*/
package chunmap.service.gmap;

import java.awt.Image;
import java.util.List;

import chunmap.raster.Tile;
import chunmap.raster.gmap.GoogleMapCode;
import chunmap.util.image.ImageCache;
import chunmap.view.Map;
import chunmap.view.layer.Layer;

class GetTileHelper {
  private GoogleMapCode code=new GoogleMapCode();
  private ImageCache cache=new ImageCache();
  private List<Layer> layers;
 
  public GetTileHelper(List<Layer> layers){
    this.layers=layers;
  }
 
  public Image getImage(int x,int y,int z){
    Tile tile=new Tile();
    tile.x=x;
    tile.y=y;
    tile.z=z;
    Image image=null;
    String name=tile.toString();
    //try get cache
    image=cache.find(name);
    if(image!=null){
      return image;
    }
   
    // renderMap
    Map map;
    map = new Map(GoogleMapCode.tileSize, GoogleMapCode.tileSize);
    map.getLayerCollection().setLayers(layers);
   
    map.getView().setViewEnvelop(code.getEnvelope(tile));
    map.render();
    image = map.getPainter().getData();
   
    cache.save(image, name);
   
    return image;
  }
 
  public List<Layer> getLayers() {
    return layers;
  }
}
TOP

Related Classes of chunmap.service.gmap.GetTileHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.