ArcWatch: Your e-Magazine for GIS News, Views, and Insights

February 2008

Build Mashups Using the New ArcGIS API for JavaScript

By Carla Wheeler, ArcWatch Editor

Developers are quickly adding elements of "where" to their Web sites along with other important data. They're creating "mashups"—popular applications that, in the GIS world, merge cartographic and other types of data from multiple sources into one Web mapping application. Mashups combine Web services to create new content.

  click to enlarge
This mashup shows the results of the Democratic primary for President in Alabama on Super Tuesday. Hillary Clinton won the highest percentage of votes in the "red" counties while Barack Obama won the "blue" counties.

For example, a police department's online database can be combined with basemaps of a city's neighborhoods taken from another Web service to provide citizens with an online view of where crimes, such as motor vehicle thefts, burglaries, and vandalism, have occurred.

This means Web developers are expressing increased interest in creating simple mapping applications that combine Web services with custom map and geoprocessing services running on a GIS server. That's the idea behind Esri's new ArcGIS API for JavaScript that will roll out later this year with the release of ArcGIS 9.3.

Esri will showcase this new feature during the 2008 Esri Developer Summit (DevSummit) March 17–20 in Palm Springs, California. A technical session called Building Mashups Using the New ArcGIS API for JavaScript will be presented by Jeremy Bartley, Ismael Chivite, and Jayant Sai of Esri.

"With the 9.3 release, Esri will give you even more tools for pushing GIS technology to the Web," said Bartley, an Esri product engineer on the ArcGIS Server team.

ArcGIS API for JavaScript in Action

To demonstrate what you can do with the ArcGIS API for JavaScript, the ArcGIS Server team created a live example using the Super Tuesday election results. The mashup created with the ArcGIS API for JavaScript shows which candidates received the highest percentage of votes for each county in the states that held Democratic and Republican primaries. To learn more, visit the Esri ArcGIS Server Development Blog.

"With the new ArcGIS API for JavaScript, you can mashup map services created on ArcGIS Server with other Web services, like the content provided on ArcGIS Online, and create simple but effective mapping applications for your Web site," said Bartley. "You don't have to be a hard-core programmer to create these applications. You just need to have a basic understanding of HTML and some familiarity with JavaScript."

JavaScript, developed by Netscape in the 1990s, is a standard computing language that runs in all browsers. It's a language that developers can use to embed commands in the HTML environment. The ArcGIS API for JavaScript is tailored to the needs of the GIS professional. For example, a developer will be able to create a simple Web application that allows users to do analysis on the Web using their own services and services from Esri or another GIS server. The data can be visualized and, in some cases, analyzed by accessing a URL through Internet browsers such as Internet Explorer and Mozilla Firefox.

Tightly Integrated with ArcGIS Server

The ArcGIS API for JavaScript is tightly integrated with ArcGIS Server. "ArcGIS Server can be used to power these mashups," said Bartley. "You can easily add cached maps for high-performance map services. You can add dynamic maps, like weather, or you can work with locator services so you can do geocodes or reverse geocodes. You can also perform spatial queries and have the results drawn on top of your basemaps. You can do sophisticated GIS analysis, and your basemaps can be in any projection or coordinate system."

For example, a developer could create a Web application that would allow users to do analysis on the Web using their own data, data from Esri, or a Web service, said Bartley.

Extensions to the ArcGIS API for JavaScript

Esri is also providing developers with two extensions to the ArcGIS API for JavaScript-one that supports Microsoft Virtual Earth and another that supports the Google Maps API.

These extensions will help developers create mashup applications that utilize the basemaps and application frameworks of Google Maps or Microsoft Virtual Earth along with services provided by ArcGIS Server. ArcGIS Server mapping and geoprocessing services can come from hosted services, like those available from ArcGIS Online, or from other GIS servers including services based on local data resources. In these scenarios, the look and feel of the application is that of either Google Maps or Microsoft Virtual Earth, but the GIS behavior is ArcGIS Server.

"Our user community has been asking us for better integration with Google Maps and Microsoft Virtual Earth," said Bartley. "And now, with the new JavaScript API, the Web development landscape is wide open. Developers can choose the solution that works best for their customers."

Esri will deliver a fully documented ArcGIS API for JavaScript library through the new online ArcGIS Server Resource Center, which will also include an interactive software development kit (SDK) and live, working examples you can view, copy, and modify, making the development process very accessible and understandable.

Technical Session on Mashups

Developers will learn more about these JavaScript APIs during the Building Mashups Using the New ArcGIS API for JavaScript technical session at the DevSummit. The session will introduce the ArcGIS API for JavaScript and the Microsoft Virtual Earth and Google Maps extensions.

Bartley, Chivite, and Sai will show developers how to build and customize simple mapping applications that integrate ArcGIS Online, Microsoft Virtual Earth, and Google Maps. Coding examples, design patterns, and best practices will be included.

"With the release of ArcGIS Server 9.3, any Web developer will have easy access to services running on ArcGIS Server," said Bartley. "This means that the entry point is much more accessible for developers who just want to build pure client-side Web applications that take advantage of services running on ArcGIS Server technology."

Learn more about ArcGIS Server.

To learn more about Esri, visit

Contact Us | Privacy | Legal | Site Map