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,这个上面用于显示图形。

  • 相关阅读:
    php 使用正则匹配中文 返回结果
    怎样判断一个jquery对象是否为空jquery对象
    关于tp5.0中对象数组转换普通数组使用助手函数collection而不是toArray
    PHP 面试题三
    PHP 面试题二
    PHP 面试题 一
    laravel 学习笔记 —— 神奇的服务容器
    ubuntu下安装opencv库+Python2.7环境安装及开发摄像头拍照应用
    Linux内核分析(七)----并发与竞态
    Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质
  • 原文地址:https://www.cnblogs.com/arcserver/p/2733829.html
Copyright © 2011-2022 走看看