• arcgis runtime 100 Create geometries


    1 /* Copyright 2016 EsriEsri 
    2  * 
    3  * Licensed under the Apache License, Version 2.0 (the "License"); 
    4  * you may not use this file except in compliance with the License. 
    5  * You may obtain a copy of the License at 
    6  * 
    7  *    http://www.apache.org/licenses/LICENSE-2.0 
    8  * 
    9  * Unless required by applicable law or agreed to in writing, software 
    10  * distributed under the License is distributed on an "AS IS" BASIS, 
    11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    12  * See the License for the specific language governing permissions and 
    13  * limitations under the License. 
    14  * 
    15  */ 
    16 
     
    17 package com.esri.arcgisruntime.sample.creategeometries; 
    18 
     
    19 import android.graphics.Color; 
    20 import android.os.Bundle; 
    21 import android.support.v7.app.AppCompatActivity; 
    22 
     
    23 import com.esri.arcgisruntime.geometry.Envelope; 
    24 import com.esri.arcgisruntime.geometry.Multipoint; 
    25 import com.esri.arcgisruntime.geometry.Point; 
    26 import com.esri.arcgisruntime.geometry.PointCollection; 
    27 import com.esri.arcgisruntime.geometry.Polygon; 
    28 import com.esri.arcgisruntime.geometry.Polyline; 
    29 import com.esri.arcgisruntime.geometry.SpatialReferences; 
    30 import com.esri.arcgisruntime.mapping.ArcGISMap; 
    31 import com.esri.arcgisruntime.mapping.Basemap; 
    32 import com.esri.arcgisruntime.mapping.view.Graphic; 
    33 import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; 
    34 import com.esri.arcgisruntime.mapping.view.MapView; 
    35 import com.esri.arcgisruntime.symbology.SimpleFillSymbol; 
    36 import com.esri.arcgisruntime.symbology.SimpleLineSymbol; 
    37 import com.esri.arcgisruntime.symbology.SimpleMarkerSymbol; 
    38 
     
    39 /** 
    40  * Shows straightforward ways to create Point, Envelope, Multipoint, Polyline, and Polygon geometries. Shows a MapView 
    41  * with a GraphicsOverlay containing Graphics created from the Point, Multipoint, Polyline, and Polygon geometries, and 
    42  * sets the Viewpoint of the Map from the Envelope geometry. 
    43  */ 
    44 public class MainActivity extends AppCompatActivity { 
    45 
     
    46   private Envelope createEnvelope() { 
    47 
     
    48     //[DocRef: Name=Create Envelope, Category=Fundamentals, Topic=Geometries] 
    49     // create an Envelope using minimum and maximum x,y coordinates and a SpatialReference 
    50     Envelope envelope = new Envelope(-123.0, 33.5, -101.0, 48.0, SpatialReferences.getWgs84()); 
    51     //[DocRef: END] 
    52 
     
    53     return envelope; 
    54   } 
    55 
     
    56   private Point createPoint() { 
    57     //[DocRef: Name=Create Point, Category=Fundamentals, Topic=Geometries] 
    58     // create a Point using x,y coordinates and a SpatialReference 
    59     Point pt = new Point(34.056295, -117.195800, SpatialReferences.getWgs84()); 
    60     //[DocRef: END] 
    61 
     
    62     return pt; 
    63   } 
    64 
     
    65   private Multipoint createMultipoint() { 
    66     //[DocRef: Name=Create Multipoint, Category=Fundamentals, Topic=Geometries] 
    67     // create a Multipoint from a PointCollection 
    68     PointCollection stateCapitalsPST = new PointCollection(SpatialReferences.getWgs84()); 
    69     stateCapitalsPST.add(-121.491014, 38.579065); // Sacramento, CA 
    70     stateCapitalsPST.add(-122.891366, 47.039231); // Olympia, WA 
    71     stateCapitalsPST.add(-123.043814, 44.93326); // Salem, OR 
    72     stateCapitalsPST.add(-119.766999, 39.164885); // Carson City, NV 
    73     Multipoint multipoint = new Multipoint(stateCapitalsPST); 
    74     //[DocRef: END] 
    75 
     
    76     return multipoint; 
    77   } 
    78 
     
    79   private Polyline createPolyline() { 
    80     //[DocRef: Name=Create Polyline, Category=Fundamentals, Topic=Geometries] 
    81     // create a Polyline from a PointCollection 
    82     PointCollection borderCAtoNV = new PointCollection(SpatialReferences.getWgs84()); 
    83     borderCAtoNV.add(-119.992, 41.989); 
    84     borderCAtoNV.add(-119.994, 38.994); 
    85     borderCAtoNV.add(-114.620, 35.0); 
    86     Polyline polyline = new Polyline(borderCAtoNV); 
    87     //[DocRef: END] 
    88 
     
    89     return polyline; 
    90   } 
    91 
     
    92   private Polygon createPolygon() { 
    93     //[DocRef: Name=Create Polygon, Category=Fundamentals, Topic=Geometries] 
    94     // create a Polygon from a PointCollection 
    95     PointCollection coloradoCorners = new PointCollection(SpatialReferences.getWgs84()); 
    96     coloradoCorners.add(-109.048, 40.998); 
    97     coloradoCorners.add(-102.047, 40.998); 
    98     coloradoCorners.add(-102.037, 36.989); 
    99     coloradoCorners.add(-109.048, 36.998); 
    100     Polygon polygon = new Polygon(coloradoCorners); 
    101     //[DocRef: END] 
    102 
     
    103     return polygon; 
    104   } 
    105 
     
    106 
     
    107   @Override 
    108   protected void onCreate(Bundle savedInstanceState) { 
    109     super.onCreate(savedInstanceState); 
    110     setContentView(R.layout.activity_main); 
    111 
     
    112     // get MapView from layout 
    113     MapView mMapView = (MapView) findViewById(R.id.mapView); 
    114 
     
    115     // create a map with the BasemapType topographic 
    116     final ArcGISMap mMap = new ArcGISMap(Basemap.createTopographic()); 
    117 
     
    118     // set the map to be displayed in this view 
    119     mMapView.setMap(mMap); 
    120 
     
    121     // create color and symbols for drawing graphics 
    122     SimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.TRIANGLE, Color.BLUE, 14); 
    123     SimpleFillSymbol fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.CROSS, Color.BLUE, null); 
    124     SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 3); 
    125 
     
    126     // add a graphic of point, multipoint, polyline and polygon. 
    127     GraphicsOverlay overlay = new GraphicsOverlay(); 
    128     mMapView.getGraphicsOverlays().add(overlay); 
    129     overlay.getGraphics().add(new Graphic(createPolygon(), fillSymbol)); 
    130     overlay.getGraphics().add(new Graphic(createPolyline(), lineSymbol)); 
    131     overlay.getGraphics().add(new Graphic(createMultipoint(), markerSymbol)); 
    132     overlay.getGraphics().add(new Graphic(createPoint(), markerSymbol)); 
    133 
     
    134     // use the envelope to set the map viewpoint 
    135     mMapView.setViewpointGeometryAsync(createEnvelope(), getResources().getDimension(R.dimen.viewpoint_padding)); 
    136 
     
    137   } 
    138 
     
    139 } 
  • 相关阅读:
    Android 设计一个可以移动的小球,当小球被拖到一个小矩形块中时退出程序
    Android canvas+paint绘制一个可以指定位置移动的小球(含触屏响应)
    Android ImageView 实现图片触屏左右、上下以及按钮切换图片
    Android Mediaplay 音乐播放器(项目中的音乐)
    第二章课后习题 Q3
    第二章课后练习 Q2、4
    第二章课后练习 Q1
    算法学习-----01背包问题
    C#设计模式--迭代器模式(学习Learning hard设计模式笔记)
    C#设计模式--命令模式(学习Learning hard C#设计模式笔记)
  • 原文地址:https://www.cnblogs.com/gisoracle/p/7420384.html
Copyright © 2020-2023  润新知