亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vpffeaturegraphicwarehouse.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/layer/vpf/VPFFeatureGraphicWarehouse.java,v $// $RCSfile: VPFFeatureGraphicWarehouse.java,v $// $Revision: 1.3.2.4 $// $Date: 2005/08/11 21:03:13 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.vpf;import java.awt.Component;import java.util.ArrayList;import java.util.Hashtable;import java.util.Iterator;import java.util.List;import java.util.Properties;import javax.swing.JPanel;import javax.swing.JTabbedPane;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.io.FormatException;import com.bbn.openmap.omGraphics.DrawingAttributes;import com.bbn.openmap.omGraphics.OMColor;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.OMPoint;import com.bbn.openmap.omGraphics.OMPoly;import com.bbn.openmap.omGraphics.OMText;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.PropUtils;/** * Implement a graphic factory that builds OMGraphics. It's different * in that it expects that the feature type has already been checked * at the CoverageTable level, and should just build whatever graphic * is sent to it. Called from within CoverageTable.drawFeatures(). *  * @see com.bbn.openmap.omGraphics.OMGraphic */public class VPFFeatureGraphicWarehouse extends VPFLayerGraphicWarehouse        implements VPFFeatureWarehouse {    public final static String DEFAULT = "DEFAULT";    protected Hashtable featureDrawingAttributes;    /**     *       */    public VPFFeatureGraphicWarehouse() {        super();    }    /**     * Called from super class constructor.     *       */    protected void initDrawingAttributes() {        drawingAttributes = new FeatureDrawingAttributes();    }    /**     * Set properties of the warehouse.     *      * @param prefix the prefix to use for looking up properties.     * @param props the properties file to look at.     */    public void setProperties(String prefix, Properties props) {        super.setProperties(prefix, props);        createFeatureDrawingAttributes(prefix, props, getFeatures());    }    /**     * From the initial properties, create the hashtable that holds     * the DrawingAttributes object for each feature type. The feature     * name is the key to the drawing attributes for that feature     * (roadl).     *      * @param prefix the prefix used for the properties     * @param props the properties object     * @param features a List of Strings, each representing a feature     *        type that when appended to the prefix, will serve as a     *        prefix for the drawing attributes settings for that     *        feature. With a layer prefix of vmapRoads, and a feature     *        type of roadl, the line color attribute property looked     *        for will be vmapRoads.roadl.lineColor.     */    public void createFeatureDrawingAttributes(String prefix, Properties props,                                               List features) {        String realPrefix = PropUtils.getScopedPropertyPrefix(prefix);        featureDrawingAttributes = new Hashtable();        if (drawingAttributes != null) {            featureDrawingAttributes.put(DEFAULT, drawingAttributes);        } else {            drawingAttributes = new FeatureDrawingAttributes();        }        for (Iterator fiter = features.iterator(); fiter.hasNext();) {            String feature = ((String) fiter.next()).intern();            FeatureDrawingAttributes da = (FeatureDrawingAttributes) drawingAttributes.clone();            da.setStroke(drawingAttributes.cloneBasicStroke());            da.setProperties(realPrefix + feature, props);            featureDrawingAttributes.put(feature, da);        }    }    /**     * Don't do this lightly, or everything will be colored the     * default value. The keys to the Hashtable should be the feature     * type names, and the values should be the DrawingAttributes for     * that feature.     */    public void setFeatureDrawingAttributes(Hashtable attributes) {        featureDrawingAttributes = attributes;    }    /**     * Get the Hashtable used for the feature DrawingAttributes     * lookup.     */    public Hashtable getFeatureDrawingAttributes() {        return featureDrawingAttributes;    }    /**     * Return the GUI for certain warehouse attributes. By default,     * return the GUI for the DrawingAttributes object being used for     * rendering attributes of the graphics.     *      * @param lst LibrarySelectionTable to use to get information     *        about the data, if needed.     */    public Component getGUI(LibrarySelectionTable lst) {        JTabbedPane jtp = new JTabbedPane();        jtp.addTab(DEFAULT,                null,                drawingAttributes.getGUI(),                "General Attributes");        List features = getFeatures();        int numFeatures = features.size();        for (int i = 0; i < numFeatures; i++) {            String currentFeature = (String) features.get(i);            DrawingAttributes da = getAttributesForFeature(currentFeature);            if (da != null) {                String desc = null;                try {                    desc = lst.getDescription(currentFeature);                } catch (FormatException fe) {                }                if (desc == null) {                    desc = "Feature Description Unavailable";                }                JPanel featurePanel = new JPanel();                featurePanel.add(da.getGUI());                jtp.addTab(currentFeature, null, featurePanel, desc);            }        }        return jtp;    }    /**     * Given a feature type, get the DrawingAttributes for that     * feature. Should be very unlikely to get a null value back.     */    public FeatureDrawingAttributes getAttributesForFeature(String featureType) {        if (featureType != null) {            FeatureDrawingAttributes ret;            if (featureDrawingAttributes != null) {                ret = (FeatureDrawingAttributes) featureDrawingAttributes.get(featureType);                if (ret == null) {                    ret = (FeatureDrawingAttributes) drawingAttributes;                }            } else {                ret = (FeatureDrawingAttributes) drawingAttributes;            }            return ret;        } else {            return (FeatureDrawingAttributes) drawingAttributes;        }    }    /**     *       */    public void createArea(CoverageTable covtable, AreaTable areatable,                           List facevec, LatLonPoint ll1, LatLonPoint ll2,                           float dpplat, float dpplon, String featureType) {        List ipts = new ArrayList();        int totalSize = 0;        try {            totalSize = areatable.computeEdgePoints(facevec, ipts);        } catch (FormatException f) {            Debug.output("FormatException in computeEdgePoints: " + f);            return;        }        if (totalSize == 0) {            return;        }        OMPoly py = createAreaOMPoly(ipts,                totalSize,                ll1,                ll2,                dpplat,                dpplon,                covtable.doAntarcticaWorkaround);        //        getAttributesForFeature(featureType).setTo(py);        int id = ((Integer) facevec.get(0)).intValue();        setAttributesForFeature(py, covtable, featureType, id);        // HACK to get tile boundaries to not show up for areas.        //         py.setLinePaint(py.getFillPaint());        //         py.setSelectPaint(py.getFillPaint());        py.setLinePaint(OMColor.clear);        py.setSelectPaint(OMColor.clear);        addArea(py);    }    protected String info = null;    /**     *       */    public void createEdge(CoverageTable c, EdgeTable edgetable, List edgevec,                           LatLonPoint ll1, LatLonPoint ll2, float dpplat,                           float dpplon, CoordFloatString coords,                           String featureType) {        int id = ((Integer) edgevec.get(0)).intValue();        OMPoly py = createEdgeOMPoly(coords, ll1, ll2, dpplat, dpplon);        setAttributesForFeature(py, c, featureType, id);        py.setFillPaint(OMColor.clear);        py.setIsPolygon(false);        addEdge(py);    }    /**     * @param omg The OMGraphic owning the attributes.     * @param c the CoverageTable for the feature.     * @param featureType the type of Feature.     * @param id ID of the OMGraphic.     */    protected void setAttributesForFeature(OMGraphic omg, CoverageTable c,                                           String featureType, int id) {        FeatureDrawingAttributes fda = getAttributesForFeature(featureType);        if (fda.getFci() == null) {            fda.setFci(c.getFeatureClassInfo(featureType));        }        fda.setTo(omg, id);    }    /**     *       */    public void createText(CoverageTable c, TextTable texttable, List textvec,                           float latitude, float longitude, String text,                           String featureType) {        OMText txt = createOMText(text, latitude, longitude);        int id = ((Integer) textvec.get(0)).intValue();        setAttributesForFeature(txt, c, featureType, id);        //        getAttributesForFeature(featureType).setTo(txt);        addText(txt);    }    /**     * Method called by the VPF reader code to construct a node     * feature.     */    public void createNode(CoverageTable c, NodeTable t, List nodeprim,                           float latitude, float longitude,                           boolean isEntityNode, String featureType) {        OMPoint pt = createOMPoint(latitude, longitude);        int id = ((Integer) nodeprim.get(0)).intValue();        setAttributesForFeature(pt, c, featureType, id);        //        getAttributesForFeature(featureType).setTo(pt);        addPoint(pt);    }    public boolean needToFetchTileContents(String currentFeature,                                           TileDirectory currentTile) {        return true;    }    public static void main(String argv[]) {        new VPFFeatureGraphicWarehouse();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内外成人在线视频| 亚洲欧美在线视频观看| av不卡一区二区三区| 天堂资源在线中文精品| 中文无字幕一区二区三区| 欧美日韩视频一区二区| 成人毛片在线观看| 久久97超碰色| 午夜电影网一区| 亚洲欧美偷拍三级| 国产欧美一区二区三区在线看蜜臀| 精品视频在线看| 99精品欧美一区二区三区综合在线| 久久精品国产免费看久久精品| 亚洲高清不卡在线| 国产精品国产三级国产普通话蜜臀 | 亚洲国产精品一区二区久久恐怖片| 久久精品一区四区| 欧美大片在线观看| 欧美区在线观看| 在线视频欧美精品| 91蜜桃传媒精品久久久一区二区| 国产高清精品网站| 国产自产v一区二区三区c| 日本伊人色综合网| 亚洲va欧美va人人爽| 亚洲自拍都市欧美小说| 亚洲四区在线观看| 亚洲欧美一区二区视频| 久久久久久黄色| 久久综合九色综合97婷婷| 日韩精品资源二区在线| 日韩美女天天操| 日韩精品在线看片z| 日韩一区二区三区在线观看| 91.成人天堂一区| 欧美精品一二三| 在线91免费看| 日韩欧美一区在线观看| 欧美成人女星排名| 日韩精品一区二区三区在线播放 | 欧美va亚洲va国产综合| 欧美一区二区成人| 日韩欧美在线一区二区三区| 日韩西西人体444www| 欧美成人精品1314www| 日韩精品一区二区三区在线观看 | 亚洲欧美日韩在线| 一区二区三区在线看| 亚洲精品国产品国语在线app| 亚洲精品福利视频网站| 亚洲图片欧美综合| 日韩在线播放一区二区| 美国三级日本三级久久99| 黑人精品欧美一区二区蜜桃 | 制服丝袜一区二区三区| 欧美一区二区三区成人| 精品久久久久久最新网址| 国产午夜精品一区二区| 亚洲欧美日韩国产另类专区| 亚洲精品乱码久久久久久黑人| 亚洲国产一区二区a毛片| 日本 国产 欧美色综合| 国产精品资源在线看| 99精品欧美一区二区三区小说| 欧美在线999| 日韩三级中文字幕| 国产精品入口麻豆九色| 亚洲国产精品久久久男人的天堂| 日韩在线a电影| 成人激情视频网站| 欧美亚洲一区二区在线| 日韩一区二区在线观看视频播放| 欧美变态tickle挠乳网站| 国产女同互慰高潮91漫画| 一区二区三区四区不卡视频| 日本精品一级二级| 成人欧美一区二区三区黑人麻豆| 国产精品日产欧美久久久久| 国产亚洲综合色| 亚洲欧美另类综合偷拍| 午夜电影一区二区三区| 国产一区二区成人久久免费影院 | hitomi一区二区三区精品| 欧美网站一区二区| 欧美日韩国产另类一区| 国产婷婷色一区二区三区四区| 亚洲一区二区三区自拍| 国产一区二区调教| 欧美日韩一区二区电影| 久久精品视频免费| 亚洲妇女屁股眼交7| 国内精品不卡在线| 欧美日韩一区二区三区视频| 亚洲第一主播视频| 国产大陆a不卡| 精品视频在线视频| 亚洲色图一区二区| 国产久卡久卡久卡久卡视频精品| 欧美视频一区二区三区在线观看 | 欧美一区二区三区四区五区| 国产精品美日韩| 久久99精品国产麻豆不卡| 欧美最猛性xxxxx直播| 国产午夜亚洲精品午夜鲁丝片| 五月天网站亚洲| 色婷婷综合久久| 欧美国产一区在线| 国产综合色视频| 欧美一级一级性生活免费录像| 亚洲青青青在线视频| 国产精选一区二区三区| 日韩欧美色电影| 午夜精品福利一区二区三区av| 91在线小视频| 欧美高清一级片在线观看| 国产精品原创巨作av| 欧美电视剧免费观看| 日韩精品一区第一页| 在线免费观看不卡av| 亚洲欧洲制服丝袜| 99精品视频一区| 综合自拍亚洲综合图不卡区| 懂色av一区二区三区蜜臀| ww亚洲ww在线观看国产| 精品一区二区三区免费| 日韩精品中文字幕在线一区| 蜜桃精品视频在线| 日韩欧美亚洲国产精品字幕久久久| 日一区二区三区| 91麻豆精品国产91久久久更新时间| 亚洲综合成人在线| 91亚洲精品久久久蜜桃网站| 亚洲欧洲99久久| 色国产精品一区在线观看| 亚洲精品久久嫩草网站秘色| 91成人在线观看喷潮| 亚洲无线码一区二区三区| 欧美色图12p| 日韩专区在线视频| 欧美电视剧在线看免费| 韩国av一区二区| 欧美激情一区二区三区不卡| 99精品1区2区| 亚洲一区免费视频| 欧美美女bb生活片| 日韩av一区二区三区四区| 日韩视频免费观看高清在线视频| 亚洲与欧洲av电影| 欧美日韩不卡一区| 亚洲国产成人av| 欧美日韩和欧美的一区二区| 亚洲在线视频免费观看| 欧美一区二区视频在线观看 | 日韩高清不卡一区二区| 日韩午夜av电影| 日韩精品福利网| 26uuu欧美| 97久久人人超碰| 亚洲成人av一区二区| 欧美电影免费观看高清完整版在线| 精油按摩中文字幕久久| 中文字幕一区二区三区在线不卡 | 五月天一区二区三区| 欧美一区二区在线不卡| 国产精品888| 亚洲免费高清视频在线| 7799精品视频| 国产成人av电影在线播放| 亚洲小说春色综合另类电影| 日韩欧美一二三区| 91麻豆国产精品久久| 蜜桃一区二区三区在线| 国产精品国产精品国产专区不片| 欧美视频在线观看一区二区| 精品一区二区影视| 亚洲精品国产视频| 久久亚洲精精品中文字幕早川悠里| 99久久精品免费观看| 蜜臀av一区二区在线免费观看| 国产精品欧美久久久久无广告| 欧美三级韩国三级日本一级| 国产综合成人久久大片91| 一区二区三区在线免费视频| 久久午夜免费电影| 欧美视频一区在线| 成人深夜视频在线观看| 日韩黄色一级片| 一区视频在线播放| 日韩视频一区二区在线观看| 色婷婷av一区二区三区大白胸| 久久av中文字幕片| 亚洲一区二区高清| 国产精品每日更新在线播放网址| 91精品一区二区三区久久久久久 | 欧美日韩精品欧美日韩精品一| 激情综合色综合久久综合| 亚洲国产一区二区a毛片| 国产精品国产三级国产普通话三级| 欧美成人一区二区三区|