Global.INSTANCE.getMapView().setAttributionTextVisible(false); //去掉下方“power by esri”

地图去水印的两种方式(去掉License for developer use only):

    需要esri授权的标准版权限许可,然后在初始化地图代码之前添加:    

        1、在licensing界面中可查看你的Arcgis runtime lite license key

      如果你已经获得授权,可以直接访问这个链接查看你的key:    https://developers.arcgis.com/arcgis-runtime/licensing/  

ArcGISRuntimeEnvironment.("runtimelite,1000,rudxxxxxx6614,none,5H80TK8Exxxxxxxx203");

 

  2、通过credential授权

 UserCredential credential = new UserCredential("username", "userpasd");        portal = new Portal("https://xxxxx.maps.arcgis.com/");        //你的域名        portal.setCredential(credential);        portal.loadAsync();        portal.addDoneLoadingListener(new Runnable() {            @Override            public void run() {                // get license info from the portal                licenseInfo = portal.getPortalInfo().getLicenseInfo();                // Apply the license at Standard level                ArcGISRuntimeEnvironment.setLicense(licenseInfo);            }        });   

    去网格:

    BackgroundGrid backgroundGrid = new BackgroundGrid();        backgroundGrid.setColor(0xf6f6f6f6);        backgroundGrid.setGridLineWidth(0);        mMapview.setBackgroundGrid(backgroundGrid);

 

加载底图:

        ArcGISMap arcGISMap = new ArcGISMap();        TileCache mainTileCache = new TileCache(url);    //url = 底图的链接url        ArcGISTiledLayer tiledLayer = new ArcGISTiledLayer(mainTileCache);        Basemap basemap = new Basemap(tiledLayer);        arcGISMap.setBasemap(basemap);        mapView.setMap(arcGISMap);

 

加载shp:

    shapefile是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。地理要素通过点、线、面(区域)来表示。包含shapefile的工作空间可以包含dBASE表,用于存储可连接到shapefile的要素的附加属性。

加载shapefile:

ShapefileFeatureTable shapefileFeatureTable = new ShapefileFeatureTable(shapefile_path));    shapefileFeatureTable.loadAsync();    shapefileFeatureTable.addDoneLoadingListener(new Runnable() {        @Override        public void run() {            GeometryType geotype= shapefileFeatureTable.getGeometryType();            String tableName= shapefileFeatureTable.getTableName();            FeatureLayer mainShapefileLayer = new FeatureLayer(shapefileFeatureTable);            if (mainShapefileLayer.getFullExtent() != null) {                mainMapView.setViewpointGeometryAsync(mainShapefileLayer.getFullExtent());            } else {                mainShapefileLayer.addDoneLoadingListener(new Runnable() {                    @Override                    public void run() {                        mainMapView.setViewpointGeometryAsync(mainShapefileLayer.getFullExtent());                    }                });            }            arcGISMap.getOperationalLayers().add(mainShapefileLayer);            startDrawing();        }    });

点击位置查询shapefile

    mMapView.setOnTouchListener(new DefaultMapViewOnTouchListener((MapActivity) getView(), mMapView) {            @Override            public boolean onSingleTapConfirmed(MotionEvent e) {                if (isClick) {                    LayerList layersList = Global.INSTANCE.getMapView().getMap().getOperationalLayers();                    Log.e("xyh", "onSingleTapConfirmed: " + layersList.size());                    final GraphicsOverlay graphicsOverlay = ((MapActivity) getView()).getGraphicsOverlay();                    if (graphicsOverlay != null) {                        ListenableList graphics = graphicsOverlay.getGraphics();                        if (graphics.size() > 0) {                            graphics.removeAll(graphics);                        }                    }                    final Point clickPoint = mMapView.screenToLocation(new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())));                    int tolerance = 1;                    double mapTolerance = tolerance * mMapView.getUnitsPerDensityIndependentPixel();                    SpatialReference spatialReference = mMapView.getSpatialReference();                    int wkid = spatialReference.getWkid();                    Envelope envelope = new Envelope(clickPoint.getX() - mapTolerance, clickPoint.getY() - mapTolerance, clickPoint.getX() + mapTolerance, clickPoint.getY() + mapTolerance, spatialReference);                    QueryParameters query = new QueryParameters();                    query.setGeometry(envelope);                    query.setSpatialRelationship(QueryParameters.SpatialRelationship.WITHIN);                    final ListenableFuture future = mainShapefileLayer.selectFeaturesAsync(query, FeatureLayer.SelectionMode.NEW);                    future.addDoneListener(new Runnable() {                        @Override                        public void run() {                            try {                                FeatureQueryResult result = future.get();                                Iterator iterator = result.iterator();                                Feature feature;                                int counter = 0;                                while (iterator.hasNext()) {                                    feature = iterator.next();                                    Map attributes = feature.getAttributes();                                    getView().onShpAttrData(attributes, clickPoint);                                    Geometry geometry = feature.getGeometry();                                    SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.RED, 3);                                    SimpleFillSymbol fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.RED, lineSymbol);                                    Graphic graphic = new Graphic(geometry, fillSymbol);                                    graphicsOverlay.getGraphics().add(graphic);                                    if (!mMapView.getGraphicsOverlays().contains(graphicsOverlay)) {                                        mMapView.getGraphicsOverlays().add(graphicsOverlay);                                    }                                    counter++;                                }                            } catch (Exception e) {                                e.getCause();                                // Log.e("xyh", "run: " + e.getMessage());                            }                        }                    });                    return super.onSingleTapConfirmed(e);                } else {                    return true;                }            }        });

 

加载.tpk文件

 

    ArcGISTiledLayer mArcGISTiledLayer = new ArcGISTiledLayer(tpkPath);    arcGISMap.getOperationalLayers().add(tiledLayer);    mapView.setMap(arcGISMap);

移除.tpk图层

   arcGISMap.getOperationalLayers().remove(arcGISTiledLayer);

加载三维地图:

    ArcGISScene arcGISScene = new ArcGISScene(Basemap.createImagery());    ArcGISSceneLayer layer = new ArcGISSceneLayer("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer");    arcGISScene.getOperationalLayers().add(layer);    sceneView.setScene(arcGISScene);

加载.vtpk

  String URL_BASEMAP = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + "测试底图/qfeddacdd.vtpk";  ArcGISVectorTiledLayer tiledLayer = new ArcGISVectorTiledLayer(URL_BASEMAP7);  basemap = new Basemap(tiledLayer);  ArcGISMap map = new ArcGISMap(basemap);  mapView.setMap(map);

加载.mmpk离线地图包

MobileMapPackage mobileMapPackage = new MobileMapPackage(MMPKURL);       mobileMapPackage.loadAsync();        mobileMapPackage.addDoneLoadingListener(new Runnable() {           @Override           public void run() {               LoadStatus loadStatus = mobileMapPackage.getLoadStatus();               if(loadStatus == LoadStatus.LOADED){                   List maps = mobileMapPackage.getMaps();                   Log.e("enbir",maps.size()+"");                   initBaseImage();                   arcGISMap = maps.get(0);                   arcGISMap.setBasemap(basemap);                   mMapView.setMap(arcGISMap);//                   mMapView.setMap(arcGISMap1);               }           }       });//        ArcGISMap arcGISMap = new ArcGISMap(basemap);

加载.geodatabase离线地图

 File file = new File(MyApplication.getLOCALGDBPATH());        if (file.exists()) {            mGeodatabase = new Geodatabase(MyApplication.getLOCALGDBPATH());            mGeodatabase.loadAsync();            mGeodatabase.addDoneLoadingListener(new Runnable() {                @Override                public void run() {                    geodatabaseFeatureTables = mGeodatabase.getGeodatabaseFeatureTables();                    int size = geodatabaseFeatureTables.size();                    for (int i = 0; i < size; i++) {                        FeatureLayer featureLayerTemp = new FeatureLayer(geodatabaseFeatureTables.get(i));                        String tableName = geodatabaseFeatureTables.get(i).getTableName();                        if(geodatabaseFeatureTables.get(i).getTableName().equals("QXXZQ")){                            xzqFeatureLayer = featureLayerTemp;                        }                        featureLayerList.add(featureLayerTemp);                        Map layerMap = new HashMap<>();                        layerMap.put(geodatabaseFeatureTables.get(i).getTableName().toString(), featureLayerTemp);                        layerData.add(layerMap);                        layerNames.add(geodatabaseFeatureTables.get(i).getTableName().toString());                    }                }            });        }

Callout展示

Callout callout = mMapview.getCallout();            callout.setLocation(point);            callout.setContent(calloutView);            Callout.Style style = new Callout.Style(this);            style.setMaxWidth(600);            style.setMaxHeight(600);            style.setLeaderLength(100);            style.setLeaderPosition(Callout.Style.LeaderPosition.LOWER_LEFT_CORNER);            style.setBackgroundColor(Color.parseColor("#aa000000"));            style.setBorderColor(Color.parseColor("#ffffff"));            callout.setStyle(style);            callout.show();            ivClose.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    callout.dismiss();                }            });

mapview居中到点

 mMapview.setViewpointCenterAsync(point);

 

觉得好就记得关注哦~~Thanks♪(・ω・)ノ

 

 

更多相关文章

  1. Android:WebView加载url网页显示不完整解决办法
  2. Android(安卓)7.1.2(Android(安卓)N) Multi-window-mode--多窗口
  3. Android(安卓)Activity的四种加载模式
  4. android APK反编译及代码混淆
  5. ClassLoader原理剖析
  6. Android(安卓)LoadingDialog一些问题
  7. Android(安卓)Google Maps 完整实例分析
  8. android实现异步加载图片
  9. android 使用Google地图步骤要点

随机推荐

  1. 直接拿来用!十大Material Design开源项目
  2. Android Studio获取数字签名(SHA1)的方法
  3. Android Volley:使用方法总结及实例解析
  4. Android之用Handler实现主线程和子线程互
  5. Android 歌词Lrc显示 自定义View
  6. Android 事件输入系统整体框架
  7. Android图片缓存处理
  8. 使用AndServer在Android上搭建Web服务器
  9. Android Studio精彩案例(一)《ActionBar
  10. [置顶] 【Android开发】问答机器