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 }

arcgis runtime 100 Create geometries的更多相关文章

  1. Arcgis Runtime 100.3开发实例源代码调试日志

    Arcgis Runtime 100.3开发实例源代码调试日志 路径: "D:\arcgis runtime1003\arcgis-runtime-samples-dotnet-master ...

  2. 使用ArcGIS Runtime 100 进行本地GIS数据处理的注意事项

    如下图所示,如果需要使用ArcGIS Runtime 100 进行本地GIS数据处理,则需要依赖Local Server通过发布GP服务实现. 一.ArcGIS Runtime所使用的GPK是有版本限 ...

  3. 基于ArcGIS Runtime 100.x 的移动应用程序开发框架 开源

    ArcGIS Runtime作为新一代的轻量GIS应用开发产品,它提供多种API,可以使用Android,iOS,Java,Mac OS X(Objective-C/Swift)..NET,Qt(C+ ...

  4. ArcGIS Runtime For Android 100.3天地图不加载问题

    ArcGIS Runtime 100.3 不加载天地图问题 参考这篇帖子:https://community.esri.com/thread/220496-1003-webtiledlayer-can ...

  5. ArcGIS Runtime for Android 使用异步GP服务绘制等值线

    关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...

  6. (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线

    关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...

  7. ArcGIS Runtime SDK for iOS开发地图图层-图形图层

    注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm        创建图 ...

  8. ArcGIS Runtime For Android setViewpointCenterAsync(Point center, double scale)效果奇葩,不响应

    最近做一个东西,用的是ArcGIS Runtime Sdk for Android 100.1.0,由于刚用这个版本,理解不够,出现了一个奇葩问题 在对FeatureLayer进行Query之后,想要 ...

  9. ArcGIS Runtime SDK for iOS之符号和渲染

    符号定义了图形外观的非地理方面.它包括了图形的颜色.线宽.透明度等等.ArcGIS Runtime SDK for iOS包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...

随机推荐

  1. CCF CSP 201709-2 公共钥匙盒

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-2 公共钥匙盒 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须 ...

  2. GUC-7 同步锁 Lock

    import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一.用于解决 ...

  3. Spark(八)JVM调优以及GC垃圾收集器

    一JVM结构 1 Java内存结构 JVM内存结构主要有三大块:堆内存.方法区和栈. 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间.From Survivo ...

  4. lr11录制时报“Request Connection: Remote Server @ 0.0.0.0:1080 (Service=?) NOT PROXIED! )”解决方法

    在录制脚本的时候出现如下现象: 解决方法: LoadRunner录制脚本时出现:Unable to connect to remote server),有事件没有脚本的问题   1.首先要查看IE浏览 ...

  5. hdoj1050 Moving Tables(贪心)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1050 题意 有一条走廊,走廊两边各有200个房间,一边的房间编号是奇数,另一边是偶数.现在有n个箱子需 ...

  6. 全局设置axios发送cookie(axios 默认不发送cookie)

    import axios from 'axios' axios.defaults.withCredentials=true; 如图:

  7. poi类包对比

  8. [leetcode DP]91. Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  9. poj3349(hash table)

    做的第一道哈希表的题目.速度很慢,跑了3000+ms.采用六条边的和对一个大质数的余数作为哈希表的key,理论上质数取得越大,消耗的空间就越大,但是速度会加快,这里取了14997.地址冲突用链表解决. ...

  10. python opencv3 窗口显示摄像头的帧

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 """ 在窗口显示摄像 ...