加载geodatabase数据

private FeatureLayer valueFL;    //离线数据图    @Override    public void getLocalMapServerDiFangData(){        try {            List list=null;            if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){                File file=Environment.getExternalStorageDirectory().getAbsoluteFile();                File file1=new File(file,Constant.LOCAL_DATA);                if (file1.exists()){                    list=Arrays.asList(file1.listFiles(new FilenameFilter() {                        @Override                        public boolean accept(File dir, String name) {                            return name.endsWith("geodatabase");                        }                    }));                }            }            if (list==null||list.size()==0){                messageDialog("请在手机SD卡根目录下localdata文件架下放入geodatabase文件!");            }else {                String mainGeodatabaseFilePath =list.get(0).getPath();                final Geodatabase mainGeodatabase = new Geodatabase(mainGeodatabaseFilePath);                mainGeodatabase.loadAsync();                mainGeodatabase.addDoneLoadingListener(new Runnable() {                    @Override                    public void run() {                        List resultsGFT = mainGeodatabase.getGeodatabaseFeatureTables();                                                valueFL = new FeatureLayer(resultsGFT.get(2));                        QueryParameters query = new QueryParameters();                        query.setWhereClause("1=1");// 设置空间几何对象                        FeatureTable mTable = valueFL.getFeatureTable();//得到查询属性表                        final ListenableFuture featureQueryResult                                = mTable.queryFeaturesAsync(query);                        featureQueryResult.addDoneListener(new Runnable() {                            @Override                            public void run() {                                try {                                    FeatureQueryResult featureResul = featureQueryResult.get();                                    mGeometryMap = new HashMap();                                    for (Object element : featureResul) {                                        if (element instanceof Feature) {                                            Feature mFeatureGrafic = (Feature) element;                                            Map mQuerryString = mFeatureGrafic.getAttributes();                                            mList.add(mQuerryString);                                            mGeometryMap.put(mQuerryString.get("TBYBH") + "", mFeatureGrafic.getGeometry());                                            mLayerMap.put(mQuerryString.get("TBYBH") + "_"+mQuerryString.get("YH")+"_"+mQuerryString.get("DCLY"),mFeatureGrafic);                                                                                   }                                    }                                    getSortData(mList);                                    Message message = new Message();                                    message.what = 666;                                    mHandler.sendMessage(message);                                }catch (Exception e){                                    e.printStackTrace();                                }                            }                        });                        valueFL.setVisible(true);                        LayerList mainLayerList = mArcGISMap.getOperationalLayers();                        mainLayerList.add(valueFL);                    }                });            }        } catch (Exception e) {        }    }             

离线切片tpk:

 /**     * 函数:创建离线底图     * 参数:     * @param path tpk数据路径     * @param mBaseMap arcgis 基础图层     * @param mArcgisMap arcgis 图层     * 返回值:     */    //离线底图    @Override    public void createLocalMapView(){        if (mMapView == null) return;        List list=null;        if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){            File file=Environment.getExternalStorageDirectory().getAbsoluteFile();            File file1=new File(file,Constant.LOCAL_TPK);            if (file1.exists()){                list=Arrays.asList(file1.listFiles(new FilenameFilter() {                    @Override                    public boolean accept(File dir, String name) {                        return name.endsWith("tpk");                    }                }));            }        }        if (list==null||list.size()==0){            messageDialog("请在手机SD卡根目录下localtpk文件架下放入tpk文件!");        }else {            TileCache vTileCache = new TileCache(list.get(0).getPath());            ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(vTileCache);            mBasemap = new Basemap(mainArcGISTiledLayer);            mArcGISMap = new ArcGISMap(mBasemap);            mMapView.setMap(mArcGISMap);        }    }

 

 

 

 

 

更多相关文章

  1. Android 下载文件 显示进度条
  2. 在AndroidManifest.xml文件中的android:windowSoftInputMode属性
  3. Andorid在布局文件中中文加粗
  4. android的文件、目录操作
  5. android Intent打开各种类型文件((PDF、word、excel、ppt、chm)
  6. android文件操作的实例
  7. Android 以流的方式读取服务器图片文件
  8. Android 文件浏览器源码
  9. Android文件保存和读取

随机推荐

  1. Android触摸滑动全解(三)——View坐标体系
  2. android集成科大讯飞语音听写和语音合成
  3. Android省市区滚轮默认显示已选择的项
  4. 你如何评价Android系统?优缺点。
  5. 基础总结篇之二:Activity的四种launchMode
  6. Android(安卓)内存优化代码篇总结
  7. Android(安卓)Socket 发送与接收数据问题
  8. Hbuilder集成个推时Android和ISO中推送的
  9. Android实现无线调试自己的应用
  10. Android(安卓)View中的控件和监听方法...