zoukankan      html  css  js  c++  java
  • flex导入shp文件

      以下为类的全部代码:

    package components
    {
    import Hymn.Classes.LoadDataClass;
    import Hymn.Event.OpenFileEvent;
    import Hymn.OpenFile.OpenFileClass;

    import com.esri.ags.Graphic;
    import com.esri.ags.Map;
    import com.esri.ags.layers.GraphicsLayer;

    import mx.controls.Alert;

    import spark.components.mediaClasses.VolumeBar;

    public class shpLoad
    {

    protected var openFileClass1:OpenFileClass;
    protected var openFile1:OpenFileEvent;
    protected var myGra1:GraphicsLayer;
    protected var OpenFileResult1:Hymn.Classes.LoadDataClass;

    public function shpLoad(myGra:GraphicsLayer)
    {
    //Alert.show("good after noon");
    myGra1 = myGra;
    openFileClass1 = new OpenFileClass();

    openFileClass1.addEventListener(OpenFileEvent.FILESELETED,openFile);
    openFileClass1.addEventListener(OpenFileEvent.FILELOADED,openFile);
    openFileClass1.addEventListener(OpenFileEvent.OPENFILEERROR,openFile);
    openFileClass1.addEventListener(OpenFileEvent.FILEANALYZEED,openFile);

    openFileClass1.OpenFile();

    }

    /*public function returnGraphic():GraphicsLayer
    {

    return myGra1;
    }
    */
    public function set myGra1Set( value:GraphicsLayer):void
    {
    myGra1 = value;
    }
    public function get myGra1Get():GraphicsLayer
    {

    return myGra1;
    }

    public function openFile(event:OpenFileEvent):void
    {
    switch(event.type)
    {
    case OpenFileEvent.FILESELETED:
    openFileClass1.LoadFile();
    break;
    case OpenFileEvent.FILELOADED:
    switch(event.FileType) //打开的文件必须保证为shp文件
    {
    case OpenFileClass.SHP:
    openFileClass1.ReadShp(-1,true);
    }
    break;
    case OpenFileEvent.FILEANALYZEED:
    OpenFileResult1 = event.LoadDataItem;
    myGra1.clear();
    for each (var i:Graphic in OpenFileResult1.GraphicsArr)

    {
    //i.symbol = default;
    this.myGra1.add(i);
    }
    this.myGra1.refresh();
    //Hymn.LocationMethods.LocationToGraphics(myMap,myOpenFileResult.GraphicsArr);
    break;

    case OpenFileEvent.OPENFILEERROR:
    Alert.show(OpenFileEvent.OPENFILEERROR.toString(),"错误提示:");
    break;
    }

    Alert.show("goog");
    }

    }
    }

    使用此代码定义一个shplod的类,然后在你的主程序中调用此类,

    方法如下,此类的主要思想是,将主程序中要显示的graphicslayer作为参数调入此类,然后此类在此层上添加本地的文件,并显示后,返回值,主程序调用此返回值,并显示即可。

    private function importShpFile():void
    {
    myGraphicLayer.clear();
    myShp = new shpLoad(myGraphicLayer);
    myGraphicLayer = myShp.myGra1Get;
    }

    当然需要定义一个graphicslayer,这个上面用于显示图形。

  • 相关阅读:
    Windows环境下Unicode编程总结
    我的CS脚本autoexec.cfg
    完成端口与高性能服务器程序开发[引用]
    调用未知DLL中的导出函数
    兼容Vista 赛门铁克公测新杀毒软件
    I Love You的真正含义
    码根码
    木马经典十大藏身地点大搜查
    Windows调试器及不同平台符号包下载地址(收集)
    “千般路”与“磨豆腐”
  • 原文地址:https://www.cnblogs.com/arcserver/p/2733829.html
Copyright © 2011-2022 走看看