45
ArcGIS移动开发技术介绍 马亚军

ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

  • Upload
    doananh

  • View
    238

  • Download
    3

Embed Size (px)

Citation preview

Page 1: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

ArcGIS移动开发技术介绍

马亚军

Page 2: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Web与移动开发组作品定位

GIS-Transforming our World

作品定位

Page 3: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Web与移动开发组:

1、Web GIS应用;

2、Web GIS应用 + 轻量级移动应用;

3、原生移动GIS应用 。

关注移动 or 专注移动

3、原生移动GIS应用 。

原生移动App的特点:

1、设备元素(本地存储及多种传感器:摄像头、陀螺仪等)

2、移动互联(聚合多源服务)

3、社交元素(SNS分享互动)

4、用户体验(不同的OS,不同的屏幕尺寸)

Page 4: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

目 录

移动原生开发移动原生开发

iOSiOS、、AndroidAndroid、、WindowsWindows

开发环境准备开发环境准备

开发示例开发示例

移动移动WebWeb开发开发 移动移动WebWeb开发开发

JavaScriptJavaScript、、Html5Html5、、CSS3CSS3

移动混合开发移动混合开发

Phone Gap/CordovaPhone Gap/Cordova

总结总结

Page 5: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

移动原生开发

GIS-Transforming our World

Page 6: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

ArcGIS Runtime SDKs

WPF

OS X

Desktop

Phones &tablets Embedded

QT

JavaSE

WindowsMobile

WindowsStore App

iOS

AndroidWindows

Phone

tablets Embedded

Page 7: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

ArcGIS Runtime Architcture

Tile Package GPS

WPF Java

Geocoding Mapping

GeoProcessing Editing

LocalServer

本地功能Messaging

OpenGL/ES DirectX

AdvancedSymbology

Server Sync Offline Routing

Spatial AnalysisOffline

Geocoding

Geocoding Mapping

GeoProcessing Editing

iOS Android

WindowsPhone

WindowsStore app

RemoteServer

RuntimeCore

本地功能

网络功能

Page 8: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

开发环境准备

GIS-Transforming our World

Page 9: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

OSX 10.7 or 10.8

Xcode

iOS SDK 5.0以上

加入 Apple’s iOS Developer 计划

- Standard : AppStore distribution

iOS SDK 开发环境

- Standard : AppStore distribution

- Enterprise : In-House distribution

ArcGIS Runtime for iOS

Page 10: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Eclipse 3.6.2 (Helios)或更高

- Eclipse's Java development tools (JDT)

- Android Development Tools (ADT) plug-in 最新版本

JDK 6

Android API –2.3… 4.X

Android 开发环境

Android API –2.3… 4.X

ArcGIS Runtime SDK for Android

Page 11: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Windows 7

- Windows Phone SDK 7.1

- Visual Studio 2010

- Expression Blend 4

Windows 8

Windows Phone 开发环境

- Windows Phone SDK 8.0

- Visual Studio 2012

- Blend for Visual Studio 2012

ArcGIS Runtime SDK for Windows Phone

Page 12: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

运行环境Window 8 & RT

开发环境Windows 8,VS2012

微软Windows Store应用商店账户

ArcGIS Runtime SDK 10.2 Beta for Windows Store apps

Windows Store App开发环境

Page 13: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

ArcGIS 移动开发的过程-iOS为例

GIS-Transforming our World

-iOS为例

Page 14: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

移动SDK的四大功能

Page 15: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

数据:Service & Map

- 基础底图

- 数据服务

- Web Map

图形:Graphics

- 在地图上动态绘制Graphic

- 创建标注

ArcGIS Runtime 移动SDK

Tools

- 创建标注

任务:Tasks

- 搜索, 空间查询, 查找GIS要素

- 对地址进行定位,地理编码

- Geometry操作(支持本地)

- Geoprocessing Task

工具:Editing Tools

- Sketch layer

- 属性页Popup

MapTask

Portal

Page 16: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

地图容器

Page 17: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

UI 组件

- 响应手势操作

- 显示GPS位置

- 触发Callout

数据融合(mushup)

地图组件 MapView

SketchLayer

- 叠加ArcGIS Server 发布的服务

- 叠加Bing map、OpenStreetMap

- 支持WMS、WMTS服务

- 切片地图包Tpk

- 离线空间数据库Geodatabase

- 自定义图层GraphicLayer

- 手绘图层SketchLayer AGSMapView

Layer

Layer

GraphicLayer

Graphic

Symbol

Geometry

Attributes

SketchLayer

Page 18: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

通过委托的方式实现

MapView Layer Delegate

- Map Load,faild to load

MapView Touch Delegate

- Tap , Tap and hold

地图组件的事件响应

- Move and hold

MapView Callout Delegate

- Did Show Callout , Should Show Callout,Should dismiss

Layer Delegate

- Layer Load, faild to load

Callout Delegate

- Did Click Accessory Button

Page 19: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

1 声明AGSMapViewTouchDelegate协议

2 实现AGSMapViewTouchDelegate协议的方法

举例:响应地图touch事件

2 实现AGSMapViewTouchDelegate协议的方法

3 设置委托(Delegate)

Page 20: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

图形(Graphics)

几何(Geometry)

属性(Attribute)

符合(Symbol)

符号(Symbol)

符号与渲染

Symbol

Geometry

符号(Symbol)

Picture ,Marker ,Line ,Fill, Composite、Text、

Military Symbol

渲染(Render)

简单(Simple)

唯一值(Unique Value),分类(class break)

时态(Temporal)

Attributes

Graphic(Feature)

Page 21: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

在线请求与处理

Page 22: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Query ,Find ,Identify Task

在地图中查找要素

Geometry Service Task

投影,缓冲区分析、距离计算,面积计算等

Geoprocessing Task

地理分析服务,通过GPTool或Model来实现

Task

Locator

地址编码和逆地址编码

Rout Task

点对点以及多点间路径分析

服务区域查询

支持路障、时间窗口以及最佳顺序

Page 23: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Task执行的一般流程

1、声明Task相关协议

2、实现协议方法

Page 24: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Task执行的一般流程

3、初始化Task

4、设置委托4、设置委托

5、执行Task

Page 25: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

离线请求和处理

Page 26: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Download

从要素服务或Desktop导出指定范围的数据离线

Geodatabase、tpk

Search ,Edit

在地图中查询要素、编辑

Synchronize

Local Task

将编辑结果同步到数据源

Geometry Engine

在客户端实现的几何操作引擎,投影,缓冲区分析、距离计算,面积计算等

Routing

离线使用点对点以及多点间路径分析

Geocoding

离线使用地理编码与反地理编码

Page 27: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

离线数据使用的一般流程

1、下载/导出数据

ArcGIS for Desktop 10.2.1:菜单> Share As > Runtime content

ArcGIS for Server 10.2.1:支持同步的要素服务(sync-enabled feature services)

2、加载

Page 28: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

离线数据使用的一般流程

3、查询/编辑

Page 29: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

4、同步

离线数据使用的一般流程

Page 30: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

连接GIS门户

Page 31: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Portal的相关类

AGSPortal 连接、登陆 搜索查询组、用户、资源(空间数据、服务、

文档、符号集、应用程序等)。

AGSWebMap 获得web map的访问连接 查询web map的资源组成

AGSCredentialAGSCredentialCache

支持以多种方式保证服务与资源的安全

Page 32: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Web一张图

Page 33: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

简介

• 专为数据采集而设计

• 为嵌入了GPS模块的智能手机而设计

• 采集属性信息、空间信息、图片

• 采集的数据可通过Operation Dashboard实

时展示

典型原生App:Collector (iOS、Android)

功能

• 搜索和使用ArcGIS Online上的WebMap

• 采集图片、视频、属性、位置等数据

• 编辑webmap

• 地图切换、测量、路径规划

Page 34: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

典型原生App:Quakefeed(iPad)

Page 35: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

多平台

小结

Mutiple

原生

快速

强大 开发简单

量级

Native easy

Light

weight

Powerful

fast

Page 36: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Web开发

GIS-Transforming our World

Page 37: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

愿景

• 编写一次,到处运行

特点

• 基于浏览器

• 支持跨平台

面向移动的Web开发

• 支持跨平台

• 支持多终端

应用场景

• 简单地图展示,较少用户交互

• 在线数据获取,保持网络连接

Page 38: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

开发技术

• AGS JavaScript API(compact)

• 开发框架

• Dojo Mobile

• Jquery Mobile

移动Web开发的技术路线

Jquery Mobile

• Sancha Mobile

• Appcelerator titanium

支持功能

• UI匹配:设备型号和屏幕尺寸

• 设备响应:方向识别、定位、手势、水平方位等

Page 39: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

混合开发

GIS-Transforming our World

Page 40: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

愿景

• 编写一次,到处运行 + 功能强健

特点

• 原生 + Web

• 虚拟层

Hybrid开发

• 虚拟层

• 核心代码是JS

应用场景

• 简单地图展示,较少用户交互

• 在线数据获取,保持网络连接

Page 41: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

Hybrid开发流程-Phone Gap/Cordova

安装环境

• 配置iOS\Android\Windows\Bb对应的开发环境

• 下载Cordova源码,运行其开发示例的同时会

编译得到cordova运行时。编译得到cordova运行时。

创建Cordova项目

• 初始化视图-CDVViewController

• 将HTML, CSS and JavaScript拷贝到www目录下

• 配置wwwFolderName、 startPage参数

• JS通过虚拟层接口访问移动设备的属性

(Battery Status、Camera、Contacts、Device…)

编译Cordova项目

• 与原生App相同

Page 42: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

总结

GIS-Transforming our World

Page 43: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

原生开发(iOS、Android、Windows)

功能最全面、有很多方便的工具类、示例丰富、扩展容易。

*iOS-系统相对封闭,上手有一定难度

*Android-容易上手,扩展较复杂。实体机硬件环境不统一,后续维护工作量较大

*Windows Phone-本地化功能较弱,代码移植容易、上手快。但用户群小,发展缓慢

小结

*Windows Phone-本地化功能较弱,代码移植容易、上手快。但用户群小,发展缓慢

*Windows Store app-开发方法多样、代码移植容易。随着微软推广政策的不断加强和硬件

设备的增加,使用者和开发者会更多。

web开发

轻量级跨平台,随着浏览器对HTML5的支持力度增强,将来有望扩大影响力。

混合开发

中量级跨平台,需要选择稳定可持续发展的框架。

Page 44: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

ArcGIS Runtime SDKs for iOS 帮助信息

https://developers.arcgis.com/en/ios/

ArcGIS Runtime SDKs for Android 帮助信息

https://developers.arcgis.com/en/android/

ArcGIS Runtime SDKs for Windows Phone 帮助信息

帮助信息

http://resources.arcgis.com/en/communities/windows-phone-sdk

ArcGIS Runtime SDKs for Windows Store app 帮助信息

https://developers.arcgis.com/en/windows-store/

ArcGIS API for JavaScript帮助信息

https://developers.arcgis.com/en/javascript/

Cordova帮助信息

http://cordova.apache.org/

Page 45: ArcGIS移动开发技术介绍 - contest.esrichina.com.cncontest.esrichina.com.cn/uploads/fudao/2014_Web mobile.pdf · OpenGL/ES DirectX Advanced Symbology Server Sync Offline Routing

纵览趋势 分享成功