You are on page 1of 82

Welcome to Welcome to

ArcGIS Server 9.3.1: ArcGIS Server 9.3.1:


Creating Fast Web Mapping Creating Fast Web Mapping
Applications With JavaScript Applications With JavaScript Applications With JavaScript Applications With JavaScript
Scott Moore Scott Moore
ESRI ESRI Olympia, WA Olympia, WA
smoore@esri.com smoore@esri.com
Seminar agenda Seminar agenda
ArcGIS API for JavaScript: An Overview ArcGIS API for JavaScript: An Overview
ArcGIS Server Resource Center ArcGIS Server Resource Center
ArcGIS Server REST API and Services Directory ArcGIS Server REST API and Services Directory
Maps, layers, and graphics Maps, layers, and graphics
Tasks, geometry services, and Dojo Tasks, geometry services, and Dojo Tasks, geometry services, and Dojo Tasks, geometry services, and Dojo
Advanced tools and customization guidelines Advanced tools and customization guidelines
ArcGIS JavaScript Extensions for the Google Maps API ArcGIS JavaScript Extensions for the Google Maps API
and Microsoft Virtual Earth and Microsoft Virtual Earth
Discussion and Tips and Tricks Throughout! Discussion and Tips and Tricks Throughout!
ArcGIS API for JavaScript: ArcGIS API for JavaScript:
An Overview An Overview
ArcGIS Server 9.3.1 mashups
Desktop
Supported Web Clients Supported Web Clients
ArcGIS Clients ArcGIS Clients
Mashup
ArcGIS JavaScript API
Virtual Earth\Google Maps
Google Earth
Explorer
Web Map
SOAP SOAP
Consumer Mapping Consumer Mapping
OpenLayers OpenLayers
Yahoo Pipes Yahoo Pipes
Adobe Flex/Java Fx/Silverlight Adobe Flex/Java Fx/Silverlight
Other Web Clients Other Web Clients
ArcGIS API for JavaScript ArcGIS API for JavaScript
Web Web--browser based API browser based API
High performance High performance
Easy Easy--to to--use mapping applications use mapping applications
Hosted by ESRI on ArcGIS Online and available Hosted by ESRI on ArcGIS Online and available
for free use for free use for free use for free use
No development or deployment license required on No development or deployment license required on
the Web server hosting your application the Web server hosting your application
Flexible release cycle Flexible release cycle
Akamai (24/7 Availability) Akamai (24/7 Availability)
Web Application Acceleration and Performance Management Web Application Acceleration and Performance Management
Why JavaScript? Why JavaScript?
One of the most used languages in the world
Pure client development
JavaScript frameworks abstract away browser
complexity (Dojo)
Stability Stability
No new changes since 1999
Path for HTML Viewer (ArcIMS) developers
Example applications Example applications
King County Road Alert King County Road Alert
Parcel Notification Parcel Notification
Creating JavaScript mapping Web pages Creating JavaScript mapping Web pages
ArcGIS Server ArcGIS Server
2. Publish resources
to ArcGIS Server
5. Preview Web
application
1. Author Maps /
GP Models
3. Discover
services using
Services
Directory
4. Copy/Paste
HTML/JS from
Resource Center
HTML / JS
ArcGIS Server Resource Center ArcGIS Server Resource Center
http://resources.esri.com/arcgisserver http://resources.esri.com/arcgisserver
Javascript Javascript Sample Viewer Sample Viewer
Configure vs. Program Configure vs. Program
Template Template
Sample Viewer Sample Viewer
Demo Demo
ArcGIS Server REST API and Services ArcGIS Server REST API and Services
Directory Directory
What is REST? What is REST?
Representational State Transfer Representational State Transfer
Simple server Simple server--side interface side interface
Requests to the REST API are through HTTP Requests to the REST API are through HTTP
GETS GETS
Everything is a URL! Everything is a URL! Everything is a URL! Everything is a URL!
\
Web
Service
Interfaces
R
E
S
T
W
M
S
W
F
S
-
T
K
M
L
S
O
A
P
SOAP vs. REST SOAP vs. REST
Great Keynote at Developers Summit Great Keynote at Developers Summit
http://www.esri.com/events/devsummit/session http://www.esri.com/events/devsummit/session
s/keynote.html s/keynote.html
Browser as the command line Browser as the command line
Basemap URL (resource): Basemap URL (resource):
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/
Portland/Portland_ESRI_LandBase_AGO/MapServer
Export Map (operation):
BaseURL/export?bbox=-122.6,45.459,-122.595,45.460&f=image
Exports a map based on the Exports a map based on the Exports a map based on the Exports a map based on the
parameters specified in the parameters specified in the
URL string URL string
ArcGIS Server REST API ArcGIS Server REST API
Hierarchy of resources Hierarchy of resources
Resources and operations Resources and operations
ArcGIS Server 9.3 REST API ArcGIS Server 9.3 REST API
All GIS services exposed as resources All GIS services exposed as resources
Service Service--level metadata level metadata
Some resources have operations Some resources have operations
Map service (export, find, identify) Map service (export, find, identify)
Map service layers (query) Map service layers (query) Map service layers (query) Map service layers (query)
Image services (export) Image services (export)
Geocode Geocode service (findAddressCandidates, Reverse service (findAddressCandidates, Reverse
Geocode) Geocode)
Geoprocessing service (execute, submitjob) Geoprocessing service (execute, submitjob)
Geometry service (project, simplify, and others) Geometry service (project, simplify, and others)
Network Analyst (New at 9.3.1) Network Analyst (New at 9.3.1)
ArcGIS Server 9.3 REST API ArcGIS Server 9.3 REST API
Results of operations can be returned as: Results of operations can be returned as:
HTML (Services Explorer HTML (Services Explorer default) default)
IMAGE (direct streamed image) IMAGE (direct streamed image)
KML (Google Earth, Google Maps, Virtual Earth) KML (Google Earth, Google Maps, Virtual Earth)
JSON (developer) JSON (developer) JSON (developer) JSON (developer)
ArcGIS Server 9.3 REST API clients
ArcGIS JavaScript APIs
Flex/Silverlight APIs
Web developers (outside of JavaScript APIs)
KML Web developers
Many other possibilities Many other possibilities
Mashup integration platforms (Yahoo! Pipes, MS
Popfly, others)
Other programming languages (Ruby, Python, .NET,
Java, PHP, etc.)
ArcGIS Services Directory ArcGIS Services Directory
ArcGIS Services Directory ArcGIS Services Directory
Discover information about services Discover information about services
Understand how to use a service with the Understand how to use a service with the
ArcGIS API for JavaScript ArcGIS API for JavaScript
Get additional information about services Get additional information about services
Layers in the map, IDs of the layers used for Layers in the map, IDs of the layers used for Layers in the map, IDs of the layers used for Layers in the map, IDs of the layers used for
querying querying
Attribute names Attribute names
Spatial reference Spatial reference
If services are secured, they will require a login If services are secured, they will require a login
http://<server>/<instance>/rest/services http://<server>/<instance>/rest/services
http://www.example.com/arcgis/rest/services http://www.example.com/arcgis/rest/services
REST API Admin
http://<host>:<port>/arcgis/rest/admin
Currently supports 2 administrative options
Clear Cache Options
Clear Cache Now
Configure Clear Cache Policies Configure Clear Cache Policies
Important Note: Always clear the REST API
Cache whenever you add, delete or update
services
Access to REST Admin is secured
Only agsadmin users can login (same as Manager)
Demo Demo
Visit the Visit the sampleserver1 ArcGIS Services sampleserver1 ArcGIS Services
Directory Directory
Maps, layers, and graphics Maps, layers, and graphics
Map Map
Typically added using HTML DIV element Typically added using HTML DIV element
var map = new esri.Map("map"); var map = new esri.Map("map");
var tiledMapServiceLayer = new var tiledMapServiceLayer = new
esri.layers.ArcGISTiledMapServiceLayer(.."); esri.layers.ArcGISTiledMapServiceLayer(..");
map.addLayer(tiledMapServiceLayer); map.addLayer(tiledMapServiceLayer);
Width and height come from DIV element Width and height come from DIV element Width and height come from DIV element Width and height come from DIV element
Can overlay multiple layers from cached and Can overlay multiple layers from cached and
dynamic services dynamic services
Projected and geographic coordinate systems Projected and geographic coordinate systems
must be defined by well must be defined by well--known ID (WKID) known ID (WKID)
Listings available at Resource Center Listings available at Resource Center
ArcGISTiledMapServiceLayer ArcGISTiledMapServiceLayer
Cached map service resource exposed by the Cached map service resource exposed by the
ArcGIS Server REST API ArcGIS Server REST API
Accesses tiles from a cache instead of Accesses tiles from a cache instead of
dynamically rendering images dynamically rendering images
var map = new esri.Map("map"); var map = new esri.Map("map"); var map = new esri.Map("map"); var map = new esri.Map("map");
var var tiledMapServiceLayer = new tiledMapServiceLayer = new
esri.layers.ArcGISTiledMapServiceLayer esri.layers.ArcGISTiledMapServiceLayer("); (");
map.addLayer(tiledMapServiceLayer); map.addLayer(tiledMapServiceLayer);
Demo Demo
Combine multiple tiled layers Combine multiple tiled layers
ArcGISDynamicMapServiceLayer ArcGISDynamicMapServiceLayer
Dynamic map service resource exposed by the Dynamic map service resource exposed by the
ArcGIS Server REST API ArcGIS Server REST API
Generates images on the fly Generates images on the fly
var map = new esri.Map("map"); var map = new esri.Map("map");
var dynamicMapServiceLayer = new var dynamicMapServiceLayer = new
esri.layers.ArcGISDynamicMapServiceLayer esri.layers.ArcGISDynamicMapServiceLayer("); ("); esri.layers.ArcGISDynamicMapServiceLayer esri.layers.ArcGISDynamicMapServiceLayer("); (");
map.addLayer(dynamicMapServiceLayer); map.addLayer(dynamicMapServiceLayer);
Layer definitions and dynamic services Layer definitions and dynamic services
Set layer definitions used to filter features of Set layer definitions used to filter features of
individual layers in the map service individual layers in the map service
var layerDefinitions = []; var layerDefinitions = [];
layerDefinitions[0] = "POPULATION > 5000000"; layerDefinitions[0] = "POPULATION > 5000000";
layerDefinitions[5] = "AREA > 100000"; layerDefinitions[5] = "AREA > 100000";
dynamicMapServiceLayer.setLayerDefinitions(layerDefinitions dynamicMapServiceLayer.setLayerDefinitions(layerDefinitions dynamicMapServiceLayer.setLayerDefinitions(layerDefinitions dynamicMapServiceLayer.setLayerDefinitions(layerDefinitions
); );
Optionally, use setVisibleLayers to override the Optionally, use setVisibleLayers to override the
visibility of layers in the map service visibility of layers in the map service
dynamicMapServiceLayer.setVisibleLayers([1,4]); dynamicMapServiceLayer.setVisibleLayers([1,4]);
Combining dynamic and tiled layers Combining dynamic and tiled layers
var map = new esri.Map("map"); var map = new esri.Map("map");
//Takes a URL to a map in a map service. //Takes a URL to a map in a map service.
var tiledMapServiceLayer = new var tiledMapServiceLayer = new
esri.layers.ArcGISTiledMapServiceLayer("); esri.layers.ArcGISTiledMapServiceLayer(");
map.addLayer(tiledMapServiceLayer); map.addLayer(tiledMapServiceLayer);
//Takes a URL to a non //Takes a URL to a non--cached map service. cached map service.
var dynamicMapServiceLayer = new var dynamicMapServiceLayer = new
esri.layers.ArcGISDynamicMapServiceLayer("); esri.layers.ArcGISDynamicMapServiceLayer(");
//Make the dynamic layer 50% opaque //Make the dynamic layer 50% opaque
dynamicMapServiceLayer.setOpacity(0.5); dynamicMapServiceLayer.setOpacity(0.5);
//Add the dynamic layer on top of the tiled layer //Add the dynamic layer on top of the tiled layer
map.addLayer(dynamicMapServiceLayer); map.addLayer(dynamicMapServiceLayer);
Demo Demo
Combine dynamic and tiled layers Combine dynamic and tiled layers
Custom Layers (Dynamic or Tiled) Custom Layers (Dynamic or Tiled)
Leverage other technologies easily in the Leverage other technologies easily in the
Javascript Javascript API API
WMS, IMS, Other Tiled Services (9.2 Server) WMS, IMS, Other Tiled Services (9.2 Server)
Demo Demo
GraphicsLayer GraphicsLayer
Allows graphics to be drawn on top of a map Allows graphics to be drawn on top of a map
Every map has a GraphicsLayer Every map has a GraphicsLayer
Access using Map.Graphics property Access using Map.Graphics property
var graphicsLayer = map.graphics; var graphicsLayer = map.graphics;
Graphic Graphic
Allows graphics to be drawn on top of a map Allows graphics to be drawn on top of a map
Can be drawn by the user as markup or input to Can be drawn by the user as markup or input to
a task a task
Can be drawn by the application in response to Can be drawn by the application in response to
Geometry + Attributes + Symbol + InfoTemplate Geometry + Attributes + Symbol + InfoTemplate
Can be drawn by the application in response to Can be drawn by the application in response to
a task a task
Exist as vectors in the browser Exist as vectors in the browser
Symbols Symbols
Determine how a graphic looks Determine how a graphic looks
Marker, Line, Fill, and Text symbols Marker, Line, Fill, and Text symbols
Set geometry and symbology before adding to Set geometry and symbology before adding to
the map the map
var symbol = new esri.symbol.SimpleMarkerSymbol(); var symbol = new esri.symbol.SimpleMarkerSymbol(); var symbol = new esri.symbol.SimpleMarkerSymbol(); var symbol = new esri.symbol.SimpleMarkerSymbol();
symbol.setSize(10); symbol.setSize(10);
symbol.setColor(new dojo.Color([255,0,0])); symbol.setColor(new dojo.Color([255,0,0]));
Or (by chaining method calls) Or (by chaining method calls)
var var symbol = new symbol = new
esri.symbol.SimpleMarkerSymbol esri.symbol.SimpleMarkerSymbol(). ().setSize setSize(10). (10).setColor setColor
(new (new dojo.Color dojo.Color([255,0,0])); ([255,0,0]));
Geometry Geometry
Integral part of a graphic Integral part of a graphic
Support for following geometry types: Support for following geometry types:
Point Point
Multipoint Multipoint
Polyline Polyline Polyline Polyline
Polygon Polygon
Extent Extent
InfoWindow and InfoTemplate InfoWindow and InfoTemplate
HTML popup HTML popup
Often contains attributes of a Graphic Often contains attributes of a Graphic
Can be used to display custom content on a Can be used to display custom content on a
map map
Demo Demo
http://smoore http://smoore--oly/js/dnr/dnr.htm oly/js/dnr/dnr.htm
http://serverx.esri.com/ArcGISJavaScriptAPI/Co http://serverx.esri.com/ArcGISJavaScriptAPI/Co
deGallery/CountyThematic.html deGallery/CountyThematic.html
Simplifying data when using graphics Simplifying data when using graphics
Limit number of vertices transferring from Limit number of vertices transferring from
ArcGIS Server to Web browser ArcGIS Server to Web browser
Renderers! Renderers!
Javascript Javascript API provides functionality to API provides functionality to
symbolize your map graphics symbolize your map graphics
Unique Value Renderer Unique Value Renderer
Class Breaks Renderer Class Breaks Renderer
Multiple Graphics Layers Multiple Graphics Layers
Javascript Javascript API provides functionality to manage API provides functionality to manage
your map graphics your map graphics
Demo Demo
Browser Performance (multiple tests)
Betanews.com Betanews.com
Improve IE User Experience Improve IE User Experience
Test your application (especially) in Internet Test your application (especially) in Internet
Explorer Explorer
map = new map = new esri.Map esri.Map("map", { ("map", {displayGraphicsOnPan displayGraphicsOnPan: ! : !dojo.isIE dojo.isIE }); });
Demo Demo (Firefox vs. IE) (Firefox vs. IE)
Tasks, geometry services, and Dojo Tasks, geometry services, and Dojo
Tasks Tasks
API includes classes and methods for common API includes classes and methods for common
GIS tasks GIS tasks
Querying Querying
Finding addresses Finding addresses
Finding attributes Finding attributes Finding attributes Finding attributes
Identifying features Identifying features
Geoprocessing Geoprocessing
Find Task Find Task
Search a map service exposed by the ArcGIS Search a map service exposed by the ArcGIS
Server REST API based on a string value Server REST API based on a string value
Can search one or more layers within a service Can search one or more layers within a service
Query Task Query Task
Performs a query operation on a specific layer Performs a query operation on a specific layer
in a map service resource exposed by the in a map service resource exposed by the
ArcGIS Server REST API ArcGIS Server REST API
Spatial and Spatial and
attribute filters attribute filters attribute filters attribute filters
Geometry Service Task Geometry Service Task
Works with a geometry service resource Works with a geometry service resource
exposed by the ArcGIS Server REST API exposed by the ArcGIS Server REST API
Project, Simplify, Buffer Project, Simplify, Buffer
Demo Demo
Examine a Query Task and Geometry Service Examine a Query Task and Geometry Service
Using a proxy page Using a proxy page
You need a proxy page when You need a proxy page when
Application creates requests that exceed the URL Application creates requests that exceed the URL
length limit imposed by the browser (2000 length limit imposed by the browser (2000
characters) characters)
Application uses a service that is secured with token Application uses a service that is secured with token--
based authentication, and you want to keep the token based authentication, and you want to keep the token based authentication, and you want to keep the token based authentication, and you want to keep the token
secure secure
For ASP.NET: For ASP.NET:
esri.config.defaults.io.proxyUrl esri.config.defaults.io.proxyUrl = "proxy.ashx"; = "proxy.ashx";
For Java/JSP: For Java/JSP:
esri.config.defaults.io.proxyUrl esri.config.defaults.io.proxyUrl = "proxy.jsp"; = "proxy.jsp";
Identify Task Identify Task
Performs an identify operation on layers of a Performs an identify operation on layers of a
map service resource exposed by the ArcGIS map service resource exposed by the ArcGIS
Server REST API Server REST API
Can identify features Can identify features
in one or more layers in one or more layers in one or more layers in one or more layers
within a service within a service
Identify geometry can Identify geometry can
be point, line, be point, line,
polygon, or extent polygon, or extent
Connecting to events Connecting to events
Loading the page, clicking the mouse, Loading the page, clicking the mouse,
executing a task, and many other actions all executing a task, and many other actions all
trigger events trigger events
Can have multiple handlers for each event Can have multiple handlers for each event
To connect to an event: To connect to an event: To connect to an event: To connect to an event:
var var myOnClick_connect myOnClick_connect = = dojo.connect dojo.connect(map, " (map, "onClick onClick", ",
myOnClickHandler myOnClickHandler); );
To disconnect from an event: To disconnect from an event:
dojo.disconnect dojo.disconnect( (myOnClick_connect myOnClick_connect); );
Demo Demo
Identify Task Identify Task
Identify Identify Dijit Dijit Sample Sample
Geocode Task Geocode Task
Represents a Represents a geocode geocode service resource service resource
exposed by the ArcGIS Server REST API exposed by the ArcGIS Server REST API
Geocode Geocode (x,y from address) (x,y from address)
Reverse Reverse geocode geocode (address from x,y) (address from x,y)
Demo Demo
Geocode Geocode Service Service
Geoprocessor Geoprocessor Task Task
Works with any GP Task resource exposed by Works with any GP Task resource exposed by
the ArcGIS Server REST API the ArcGIS Server REST API
Synchronous or asynchronous Synchronous or asynchronous
Demo Demo
Find Water Pressure Find Water Pressure
http://smoore http://smoore--oly/js/spu/spu2.htm oly/js/spu/spu2.htm
Geocode Geocode an Excel Spreadsheet an Excel Spreadsheet
http://nwtech.esri.com/javascript/geocode/geoc http://nwtech.esri.com/javascript/geocode/geoc
odeexcel.htm odeexcel.htm odeexcel.htm odeexcel.htm
Network Analyst Task Network Analyst Task
Support for Support for ArcGIS ArcGIS Network Analyst Route Network Analyst Route
Layers via Layers via ArcGIS ArcGIS Server 9.3.1 Server 9.3.1
Demo 1 Demo 1
Demo 2 Demo 2
Demo 3 Demo 3 Demo 3 Demo 3
Dojo Dojo
Open source DHTML toolkit written in JavaScript Open source DHTML toolkit written in JavaScript
Handles Handles
Core ArcGIS API for JavaScript functionality Core ArcGIS API for JavaScript functionality
Browser differences Browser differences
Vector graphics support, visual effects, widgets Vector graphics support, visual effects, widgets Vector graphics support, visual effects, widgets Vector graphics support, visual effects, widgets
AJAX and JSON support AJAX and JSON support
Take advantage of full Dojo toolkit, not just Dojo Take advantage of full Dojo toolkit, not just Dojo
commands exposed through JavaScript API commands exposed through JavaScript API
http://dojotoolkit.org/ http://dojotoolkit.org/
Dojo grid control Dojo grid control
Used to create interactive data grids Used to create interactive data grids
Rendered in the browser Rendered in the browser
FeatureSet FeatureSet DataStore DataStore DataGrid DataGrid
Demo Demo
Convert Convert FeatureSet FeatureSet to to FileItemReadStore FileItemReadStore
dojo.forEach(featureSet.features, function(feature) {
...
items.push(dojo.mixin({}, feature.attributes));
});
Use Use FileItemReadStore FileItemReadStore in in DataGrid DataGrid
});
var data = { identifier: "OBJECTID", //unique id
label:featureSet.displayFieldName, //name field or display
items: items }; //set items
store = new dojo.data.ItemFileReadStore({ data:data });
grid.setStore(store, {OBJECTID:"*"});
Dojo charting Dojo charting
Used to create charts and graphs Used to create charts and graphs
Rendered in the browser Rendered in the browser
Could use Google Charts instead Could use Google Charts instead
Demo Demo
http://www.dojotoolkit.org/ http://www.dojotoolkit.org/
http://resources.esri.com/arcgisserver/apis/java http://resources.esri.com/arcgisserver/apis/java
script/arcgis/index.cfm?fa=codeGalleryDetails& script/arcgis/index.cfm?fa=codeGalleryDetails&
scriptID=15998 scriptID=15998
Printing Printing
Server side web application creates merged Server side web application creates merged
image (.NET or PHP) image (.NET or PHP)
Resource Center Resource Center
Demo Demo
Printing: Application Flow Printing: Application Flow
Client side Web
Application
Page
Layout Page
with printable
elements
Graphics
+ Layers
elements
Export Map
Merge Images
Output File
http://myserver.com/...
http://sampleserver1.arcgisonline.com/...
http://server.arcgisonline.com/...
Output folder
Image URL Layers
Output
image
Export Map
Images
Table of Contents and Legends Table of Contents and Legends
Table of Contents Sample Table of Contents Sample
Custom Legend Service Custom Legend Service
or or
Static Legend Static Legend
Animation Animation
Tsunami Demo Tsunami Demo
Advanced tools and guidelines for creating Advanced tools and guidelines for creating
applications applications
JavaScript editing and testing JavaScript editing and testing
Fully functional JavaScript debuggers Fully functional JavaScript debuggers
Microsoft Visual Studio 2008 Web Developer Express Microsoft Visual Studio 2008 Web Developer Express
Mozilla Firefox and Firebug Mozilla Firefox and Firebug
Aptana Aptana
Simple text editors Simple text editors Simple text editors Simple text editors
Notepad or other built Notepad or other built--in text editors in text editors
PSPad PSPad
Test application in all target browsers Test application in all target browsers
Various browsers and versions Various browsers and versions
Scripting guidelines Scripting guidelines
Visit the Resource Center to learn more about: Visit the Resource Center to learn more about:
Loading layers, getting/setting properties, initializing Loading layers, getting/setting properties, initializing
objects, resizing/repositioning the map objects, resizing/repositioning the map
Working with graphics Working with graphics
Working with events Working with events Working with events Working with events
Working with Dojo Working with Dojo
Default API configurations Default API configurations
Map navigation Map navigation
Demo Demo
Firebug Firebug
Use Visual Studio Web Developer Express 2008 Use Visual Studio Web Developer Express 2008
and script debugging in Internet Explorer and script debugging in Internet Explorer
Aptana Aptana
ArcGIS JavaScript Extensions for the ArcGIS JavaScript Extensions for the
Google Maps API and Google Maps API and
Microsoft Virtual Earth Microsoft Virtual Earth Microsoft Virtual Earth Microsoft Virtual Earth
ArcGIS JavaScript Extension for the Google Maps API ArcGIS JavaScript Extension for the Google Maps API
Combine GIS content hosted in ArcGIS Server Combine GIS content hosted in ArcGIS Server
with Google Maps basemap content with Google Maps basemap content
ArcGIS JavaScript Extension for the Google Maps API ArcGIS JavaScript Extension for the Google Maps API
Works with cached and dynamic ArcGIS Server Works with cached and dynamic ArcGIS Server
services services
REST API REST API
KML KML
Applications can be built in traditional Applications can be built in traditional mashup mashup Applications can be built in traditional Applications can be built in traditional mashup mashup
form or as Google form or as Google Mapplets Mapplets
Tiled maps use WGS 1984 Web Mercator Tiled maps use WGS 1984 Web Mercator
projection projection
WKID: 102113 WKID: 102113
Same as Virtual Earth Same as Virtual Earth
ArcGIS JavaScript Extension for Microsoft Virtual Earth ArcGIS JavaScript Extension for Microsoft Virtual Earth
Combine GIS content hosted in ArcGIS Server Combine GIS content hosted in ArcGIS Server
with Virtual Earth basemap content with Virtual Earth basemap content
ArcGIS JavaScript Extension for Microsoft Virtual Earth ArcGIS JavaScript Extension for Microsoft Virtual Earth
Works with cached ArcGIS Server services Works with cached ArcGIS Server services
Cache must be fused Cache must be fused
Content (VE shapes, tiles) can be viewed in 2D Content (VE shapes, tiles) can be viewed in 2D
or 3D or 3D
Tiled maps use WGS 1984 Web Mercator Tiled maps use WGS 1984 Web Mercator Tiled maps use WGS 1984 Web Mercator Tiled maps use WGS 1984 Web Mercator
projection projection
WKID: 102113 WKID: 102113
Same as Google Maps Same as Google Maps
Demo Demo
http://smoore http://smoore--oly/js/swig/swiggoogle.htm oly/js/swig/swiggoogle.htm
Virtual Earth Tiles in the Virtual Earth Tiles in the ArcGIS ArcGIS JS API JS API
Access Microsoft VE Tiled Access Microsoft VE Tiled Basemaps Basemaps in the in the
core core ArcGIS ArcGIS Javascript Javascript API API
Demo Demo (VPN Required) (VPN Required)
Want to Learn More? Want to Learn More?
Free Web Training Seminar Free Web Training Seminar
Building Building Mashups Mashups Using the Using the ArcGIS ArcGIS JavaScript APIs JavaScript APIs
Instructor Instructor--Led Training Led Training
Introduction to Introduction to ArcGIS ArcGIS Server Server
New Course Specific to New Course Specific to Javascript Javascript API Coming API Coming New Course Specific to New Course Specific to Javascript Javascript API Coming API Coming
Soon! Soon!
Javascript Javascript Links Links
Essential Essential Javascript Javascript -- A A Javascript Javascript Tutorial Tutorial
http://www.comptechdoc.org/independent/web/cgi/ja http://www.comptechdoc.org/independent/web/cgi/ja
vamanual/ vamanual/
http://www.w3schools.com/jsref/default.asp http://www.w3schools.com/jsref/default.asp
http://javascript.crockford.com/ http://javascript.crockford.com/
Dojo Links Dojo Links
http://dojotoolkit.org/key http://dojotoolkit.org/key--links links
Dojo Feature Explorer Dojo Feature Explorer
http://www.sitepen.com/labs/dojo.php http://www.sitepen.com/labs/dojo.php
http://archive.dojotoolkit.org/nightly/checkout/ http://archive.dojotoolkit.org/nightly/checkout/ (Great (Great http://archive.dojotoolkit.org/nightly/checkout/ http://archive.dojotoolkit.org/nightly/checkout/ (Great (Great
source for learning how to use source for learning how to use dijits dijits and and dojox dojox
widgets, check out the tests folder) widgets, check out the tests folder)
http://www.roseindia.net/dojo/ http://www.roseindia.net/dojo/
10 helpings of Dojo goodness 10 helpings of Dojo goodness
Summary Summary
Start at the Resource Center Start at the Resource Center
Concepts Concepts
View the samples View the samples
Community Community
Pick a Pick a basemap basemap Pick a Pick a basemap basemap
Install Firefox/Firebug and/or Visual Studio Install Firefox/Firebug and/or Visual Studio
(Web Developer Express 2008 (Web Developer Express 2008 Free!) Free!)
Learn UI ( Learn UI (Dijits Dijits/Layouts) options available from /Layouts) options available from
Dojo Dojo
Setup a proxy page Setup a proxy page
Thank You Thank You
Scott Moore
ESRI
380 New York Street
Redlands, California
92373-8100 USA
Phone: 909-793-2853
Fax: 909-793-5953
E-mail: info@esri.com
Scott Moore
smoore@esri.com

You might also like