MapCOntext: /* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2003-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.map; import java.awt.geom.AffineTransform; import java.io.IOException; import java.util.Collection; import java.util.Iterator; import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader; import org.geotools.data.FeatureSource; import org.geotools.feature.FeatureCollection; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.map.event.MapBoundsEvent; import org.geotools.map.event.MapBoundsListener; import org.geotools.map.event.MapLayerListListener; import org.geotools.styling.Style; import org.opengis.coverage.grid.GridCoverage; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; import com.vividsolutions.jts.geom.Envelope; /** * Store context information about a map display. This object is based on the * OGC Web Map Context Specification. * * @author Cameron Shorter * @source $URL: http://svn.geotools.org/trunk/modules/library/render/src/main/java/org/geotools/map/MapContext.java $ * @version $Id: MapContext.java 30649 2008-06-12 19:44:08Z acuster $ */ /** *存储需要显示的图形信息 *该接口的定义根据OGC 的描述 */ public interface MapContext { /** * Add a new layer if not already present and trigger a * {@link LayerListEvent}. * * @param layer * the layer to be inserted * * @return true if the layer has been added, false otherwise * *增加一个图层 MapLayer *如果插入成功返回True 否则返回False * */ boolean addLayer(MapLayer layer); /** * Add a new layer in the specified position and trigger a * {@link LayerListEvent}. Layer won't be added if it's already in the * list. * * @param index * index at which the layer will be inserted * @pa