Advanced Development with the ArcGIS API for JavaScript. Jeremy Bartley, Kelly Hutchins, Derek Swingley

Similar documents
ArcGIS API for JavaScript Advanced Topics

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

Index. Bootstrap framework ASP.NET MVC project set-up, default template, 223

Web AppBuilder for ArcGIS Dive Into Mobile Development. Yiwei Ma & Kevin Gao

Chapter 20: Basic Application Design with Dojo and ArcGIS Templates

Adobe Dreamweaver CS6 Digital Classroom

City of Mobile GIS Web Mapping Applications: New Technology, New Expectations

Advanced Dreamweaver CS6

No Programming Required Create web apps rapidly with Web AppBuilder for ArcGIS

Introduction to JavaScript. Evan Caldwell & James Tedrick

Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery. Andy Gup, Lloyd Heberlie

ArcGIS for Developers: An Introduction. Moey Min Ken

I, J, K. Eclipse, 156

Full Stack Web Developer

DEVELOPMENT OF WEB BASED GIS APPLICATIONS USING ARCGIS SERVER API 3.X FOR JAVASCRIPT ONLINE TRAINING GIS. Course. Training. .com

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

Enterprise Web Development

Index LICENSED PRODUCT NOT FOR RESALE

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

Basics of Web Technologies

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

Etanova Enterprise Solutions

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Creating Web Mapping Applications. Nikki Golding

An Oracle White Paper April Oracle Application Express 5.0 Overview

Full Stack Web Developer

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Introduction to Sencha Ext JS

v0.9.3 Tim Neil Director, Application Platform & Tools Product

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) More on Relative Linking. Learning Objectives (2 of 2)

Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy

Create-A-Page Design Documentation

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway.

Frontend UI Training. Whats App :

Chapter 8: Using Toolbars

Oracle Application Express 5 New Features

Firefox 4 for Mobile Reviewer s Guide. Contact us:

Developing Web Applications for Smartphones with IBM WebSphere Portlet Factory 7.0

Advanced JavaScript. Gary Sheppard & James Tedrick

Aware IM Version 8.2 Aware IM for Mobile Devices

Dojo: An Accessible JavaScript Toolkit

Rich Web UI made simple Building Data Dashboards without Code

User Interfaces for Web Sites and Mobile Devices. System and Networks

WebKit ; FOR : DUMMIES. by Chris Minnick WILEY. John Wiley & Sons, Inc.

Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First

Independence Community College Independence, Kansas

Creating Effective School and PTA Websites. Sam Farnsworth Utah PTA Technology Specialist

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

QCon - Mobile Maps HTML5 Team Andrea

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

20480B - Version: 1. Programming in HTML5 with JavaScript and CSS3

Getting started with Convertigo Mobilizer

Oracle APEX 18.1 New Features

TRAINING GUIDE. Tablet Cradle to Mobile GIS

PEGACUIS71V1 pegasystems

PHOTO GALLERY. USER GUIDE by Decima Digital. d e c i m a d i g i t a l. c o m

Table Basics. The structure of an table

HTML5. HTML5 Introduction. Form Input Types. Semantic Elements. Form Attributes. Form Elements. Month Number Range Search Tel Url Time Week

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy

Installation & User Guide

Full Stack boot camp

TRAINING GUIDE. Mobile for Administrators Part 3 - GIS

Web Development. With PHP. Web Development With PHP

Web AppBuilder Presented by

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

Configuring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton

2010 Exceptional Web Experience

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

Designing for diverse devices. Dr. Andres Baravalle

Course 20480: Programming in HTML5 with JavaScript and CSS3

PHP,HTML5, CSS3, JQUERY SYLLABUS

Customizing Web AppBuilder using Third Party Products. Presented to: Esri Canada Toronto UC Presented by: Maura Daffern October 11 th, 2018

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Strategies for Building Mobile Apps Using ArcGIS API for JavaScript

Basic Steps for Creating an Application with the ArcGIS Server API for JavaScript

ibooks Author Getting Started

Getting Started with ArcGIS Runtime SDK for Java SE

Programming in HTML5 with JavaScript and CSS3

Firefox for Android. Reviewer s Guide. Contact us:

ArcGIS Runtime SDK for WPF

~Arwa Theme~ HTML5 & CSS3 Theme. By ActiveAxon

Getting Started with the ArcGIS Server JavaScript API

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Building Mobile Apps with the ArcGIS API for JavaScript. Andy Gup, Lloyd Heberlie, Thomas Other

ArcGIS Online: Managing Data. Jeremy Bartley Sentha Sivabalan

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

ArcGIS Online. The Road Ahead Geoff Mortson

A set-up guide and general information to help you get the most out of your new theme.

Building Custom UIs for APS 2.0 Applications. Timur Nizametdinov, APS Dynamic UI Lead Developer

ArcGIS Viewer for Silverlight Advanced Topics

How to use WordPress to create a website STEP-BY-STEP INSTRUCTIONS

Mobile Applications 2013/2014

HTML5, CSS3, JQUERY SYLLABUS

JSN PageBuilder 3 Configuration Manual Introduction

TRAINING GUIDE. Tablet: Cradle to Mobile GIS

Waikato Maps Quick Start Guide

bada 2.0 SDK features

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Transcription:

Advanced Development with the ArcGIS API for JavaScript Jeremy Bartley, Kelly Hutchins, Derek Swingley

Agenda FeatureLayer esri.request and Identity Manager OO JS Building your first Dijit Popups Working with WebMaps Layouts Mobile

esri.layers.featurelayer

FeatureLayer Client Side Data Web Editing Feature Selections Pagination

FeatureLayer Generalization Reduced Precision 10.1 Etag Optimization High Performance FeatureLayer

esri.request() & esri.identitymanager

esri.request() Low level request method access data from a remote server Wraps - Script get via JSONP - XHR Get - XHR Post Used by all jsapi components that talk to ArcGIS Server Use it to upload files, access xml documents, csv files,

esri.request() is smart! Uses proxy if NEEDED and AVAILABLE Supports HTML5 CORS Integrated with the IdentityManager Provides a hook to override the request before going to the server. - esri.setrequestprecallback(callbackfunction) Returns a deferred

Deferred -- Promises Simple way to deal with asynchronous requests in response to a value that may not yet be available. qtdeferred = qt.execute(query); qtdeferred.then(function(queryresult){}); qtdeferred.addcallback() qtdeferred.adderrback() qtdeferred.addboth()

IdentityManager Work with secure ArcGIS online or ArcGIS server services with the identity manager Use when your app needs to illicit credentials from the user Seamlessly integrates with all layers, tasks, and requests routed through esri.request() Can be extended to change the user experience. Demo

Object Oriented JavaScript

JavaScript and Classes Avoid single-file, spaghetti code apps Modular, re-usable code Application maintenance

Dojo and Classes declare: create a class provide: tell dojo about your class require: load classes Example: search Instagram

Building your first Dijit

Dojo Dijit Collection of UI Widgets Framework for creating custom UI Widgets

Creating a Dijit Standard file structure JavaScript for custom methods and properties HTML template for layout elements Styled with CSS

The Dijit Lifecycle Set of methods that fire during dijit creation Convenient access to the widget as it is created

Custom Dijit Dashboard style display Read JSON from an ArcGIS.com webmap Provide a way to connect to a map

Popups

Info Window Title + Content Place anywhere on map - InfoWindow.show(mapPoint, anchorplacement) Shown when clicked on a graphicslayer if Graphic has defined infotemplate

Content of InfoWindow Let s go to the doc

Customize look of InfoWindow Simple InfoWindow can be stylized with CSS Default InfoWindow can be stylized by creating a new sprite defining the colors and then using it in your app

Extend InfoWindowBase to create your own InfoWindow Need to implement a few methods - Hide, show, setcontent, settitle, resize Once implemented you can set your new InfoWindow on the map API for working (show/hide) with InfoWindow will remain unchanged.

Popups Implementation of InfoWindowBase - Navigate through selection - Zoom and highlight - Maximize the info window

PopupMobile Inherits from InfoWindowBase Designed for small screen size - Embedded Maps - Mobile

Working with WebMaps

esri.arcgis.utils.createmap() Creates an instance of esri.map initialized with all layers specified in the webmap Supports: - All basemap and operational layers - Supports features stored in the map - Supports webmap defined popups Constructed from arcgis online webmap ID or by value from JSON

ArcGIS.com webmap popups If webmap has defined popups createmap will: - Listen for map click events and when clicked query the layer for each defined popup - Behaivor can be disabled via ignorepopups option - Selected geometry is generalized if possible You can style the InfoWindow that contains the popup using css - dojo.addclass(map.infowindow.domnode, "chrome");

Extending createmap s InfoWindow Uses custom InfoWindow extended form InfoWindowBase Handles paging, media (one or multiple), and supports full screen view of content Includes an actions bar that supports zoom to You can get the currently selected feature from the InfoWindow. Use it to add your own tool to the actions bar

ArcGIS.com Web application Templates create your own!

Layouts

Dojo Layout elements on page Border Container - Contains layout elements - Accordion Container - Content Pane - Stack Container - Tab Container - Nested

Border Container - Attributes Design Region - Headline - Sidebar

Grid 960

Columns 12 Column - 60 pixels wide - 10 pixel margin 16 Column - 40 pixels - 10 pixel margin

CSS Classes

Spaces Prefix, Suffix

Mobile Development

Mobile support in JSAPI Touch enabled Map control Touch enabled widgets Touch enabled move support

ios Best Mobile Browser Supports two finger pinch zoom on map control Create and edit geometries No access to photos/videos from the browser Browser supports - HTML5 Geolocation API - Web Storage - Offline Web Applications - Access to GyroScope

Android 2.2 and greater SVG is not supported on Android. - JSAPI falls back to canvas No support for two finger touch (yet) Does have access to the camera roll

Mobile Widgets Mobile popup Touch-aware thumbnail gallery Displays horizontal scrolling view of thumbnail images. Touch access so users can flick through the gallery to select or view items.

Mobile Frameworks Native application look and feel - Animated transitions - Toolbars - Buttons - List views

jquery Mobile Announced in late 2010 Active user community Lots of samples and doc Theme Framework

Dojox.mobile Features and behavior similar to jquerymobile Good demos Poor documentation

Sencha Animations and Scrolling Native Packaging Built on HTML5 iphone, Android, Blackberry