?? maplayersall.java
字號:
package com.esri.aims.mtier.dx;
import java.util.*;
import com.esri.aims.mtier.dx.ConfigService;
import com.esri.aims.mtier.model.map.Map;
import com.esri.aims.mtier.model.map.layer.*;
public class MapLayersAll {
Map imsmap = null;
HashMap<String, Vector<String>> layerAttribute = null;
Vector<String> layerName = null;
Vector<String> layerId = null;
Vector<String> layerType = null;
Vector<String> layerMaxScale = null;
Vector<String> layerMinScale = null;
Vector<String> layerVisible = null;
Vector<String> layerFeatureType = null;
/**
* 空構(gòu)造函數(shù)
*/
public MapLayersAll() {
imsmap = new Map();
}
/**
* 帶參數(shù)的構(gòu)造函數(shù)
* @param map Map
*/
public MapLayersAll(Map map){
imsmap = new Map();
imsmap = map;
}
/**
* 設(shè)置初始Map實(shí)例
* @param map Map
*/
public void setMapInstance(Map map) {
imsmap = map;
}
/**
* 獲取圖層數(shù)
* @return int
*/
protected int getLayerCount() {
return imsmap.getLayers().getCount();
}
/**
* 獲取圖層屬性集
* layerName,layerId,layerType,layerMaxScale,layerMinScale,layerVisible,layerFeatureType
*/
public void setLayerAttribute() {
if (layerName == null) {
layerName = new Vector<String>();
}
if (layerId == null) {
layerId = new Vector<String>();
}
if (layerType == null) {
layerType = new Vector<String>();
}
if (layerMaxScale == null) {
layerMaxScale = new Vector<String>();
}
if (layerMinScale == null) {
layerMinScale = new Vector<String>();
}
if (layerVisible == null) {
layerVisible = new Vector<String>();
}
if (layerFeatureType == null) {
layerFeatureType = new Vector<String>();
}
layerName.clear();
layerId.clear();
layerType.clear();
layerMaxScale.clear();
layerMinScale.clear();
layerVisible.clear();
layerFeatureType.clear();
for (int i = 0; i < getLayerCount(); i++) {
layerId.add(imsmap.getLayers().item(i).getID());
layerName.add(imsmap.getLayers().item(i).getName());
if (imsmap.getLayers().item(i).getMaxScale() == null) {
layerMaxScale.add("1.0E+10");
}
else {
layerMaxScale.add(imsmap.getLayers().item(i).getMaxScale());
}
if (imsmap.getLayers().item(i).getMinScale() == null) {
layerMinScale.add("0");
}
else {
layerMinScale.add(imsmap.getLayers().item(i).getMinScale());
}
if (imsmap.getLayers().item(i).isVisible() == true) {
layerVisible.add("true");
}
else {
layerVisible.add("false");
}
if (imsmap.getLayers().item(i) instanceof FeatureLayer) {
FeatureLayer flyr = (FeatureLayer) imsmap.getLayers().item(i);
layerType.add(flyr.getType());
layerFeatureType.add(flyr.getFeatureClass());
}
else if (imsmap.getLayers().item(i) instanceof ImageLayer) {
ImageLayer ilyr = (ImageLayer) imsmap.getLayers().item(i);
layerType.add(ilyr.getType());
layerFeatureType.add("image");
}
else if (imsmap.getLayers().item(i) instanceof AcetateLayer) {
AcetateLayer alyr = (AcetateLayer) imsmap.getLayers().item(i);
layerType.add(alyr.getType());
layerFeatureType.add("acetate");
}
else {
layerType.add(imsmap.getLayers().item(i).getType());
layerFeatureType.add("none");
}
}
/**
* 保存圖層屬性到 HashMap
*/
if (layerAttribute == null) {
layerAttribute = new HashMap<String, Vector<String>>();
}
layerAttribute.clear();
layerAttribute.put(ConfigService.MAP_LAYER_ID, layerId);
layerAttribute.put(ConfigService.MAP_LAYER_NAME, layerName);
layerAttribute.put(ConfigService.MAP_LAYER_TYPE, layerType);
layerAttribute.put(ConfigService.MAP_LAYER_VISIBLE, layerVisible);
layerAttribute.put(ConfigService.MAP_LAYER_MAXSCALE, layerMaxScale);
layerAttribute.put(ConfigService.MAP_LAYER_MINSCALE, layerMinScale);
layerAttribute.put(ConfigService.MAP_LAYER_FEATURETYPE, layerFeatureType);
}
/**
* 返回所有圖層的屬性
* @return HashMap
*/
public HashMap getLayerAttribute() {
return layerAttribute;
}
/**
* 控制圖層顯示狀態(tài)
* @param lyrVis 輸入格式="true,true,false,false",有幾層輸入幾層
*/
public void setLayersVisible(String lyrVis) {
String[] lys = lyrVis.split(",");
if (lys.length == getLayerCount()) {
for (int i = 0; i < lys.length; i++) {
boolean isLayer = (lys[i].equalsIgnoreCase("true") ||
lys[i].equalsIgnoreCase("1"));
imsmap.getLayers().item(i).setVisible(isLayer);
}
}
}
/**
* 獲取所有圖層顯示狀態(tài)
* @return String
*/
public String getLayersVisible() {
String lyrVis = "";
try{
for (int i = 0; i < getLayerCount() - 1; i++) {
lyrVis += Boolean.toString(imsmap.getLayers().item(i).isVisible()) + ",";
}
lyrVis +=
Boolean.toString(imsmap.getLayers().item(getLayerCount() - 1).isVisible());
}catch(Exception ex){
}
return lyrVis;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -