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. SQL Server和Access数据读写

    1.查询Access中数据的方法: select * from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:/db2.mdb','select ...

  2. Linux命令之远程登录与执行远程主机命令

    实现远程登录的命令 ssh.telnet.rlogin (1)ssh命令 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器.ssh命令用于远程登录上Li ...

  3. Struts 2 - Hello World Example

    As you learnt from the Struts 2 architecture, when you click on a hyperlink or submit an HTML form i ...

  4. Linux系统的优势

    熟悉电脑的人都知道,Linux 相比较于 Windows 有着众多的优势,所以现在越来越多的电脑用户开始使用 Linux 进行办公.学习.总体来讲,Linux 的优势主要有以下几个方面. 一.开源.免 ...

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

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

  6. 【LOJ】#2290. 「THUWC 2017」随机二分图

    题解 看了一眼觉得是求出图对图统计完美匹配的个数(可能之前做过这样模拟题弃疗了,一直心怀恐惧... 然后说是统计一下每种匹配出现的概率,也就是,当前左边点匹配状态为S,右边点匹配状态为T,每种匹配出现 ...

  7. Vue学习笔记进阶篇——Render函数

    基础 Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template ...

  8. Redis的一些配置

    Redis的一些配置 daemonize 如果需要在后台运行,把该项设置为yes,默认为no pidfile 配置多个pid的地址,默认在/var/run/redis.pid bind 绑定ip,设置 ...

  9. OpenGL笔记<5> shader 调试信息获取 Debug

    我们今天来讲调试信息,这个东西讲起来会比较无聊,因为都是一些函数调用,没啥可讲的,函数就是那样用的,不过其效果挺好玩的,同时在程序设计中也是很必要的,所以还是来写一下,不过,就是因为知识比较固定且简单 ...

  10. MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 )的 Python实现

    以上是算法简要说明,以下代码为Python实现,不过注意代码中的N=15,不是16. # GB/T 17710 双模校验算法 # QQ 3257132998 def GB_Code(str): str ...