GEOG 863
GIS Mashups for Geospatial Professionals



This last lesson will cover a mix of advanced topics related to mapping application development, all of them having applicability to either of the mapping APIs we've explored in this course.  We saw in the last lesson that Esri requires developers working with their JavaScript API to use the Dojo framework.  Recall that by the end of the lesson we saw how to easily position our map and sidebar table, and that the table itself had advantages over a plain HTML table such as the fact that it was sortable.  These things are possible with the Google API as well, and since not all of you need or are able to take advantage of the richer functionality in Esri's API, we'll spend part of this lesson covering how to develop professional looking layouts and interactive tables with the Google API and another popular JavaScript framework, jQuery.

We'll also see how HTML form elements (such as drop-down lists and radio buttons) can be used to provide end users with an interface for selecting subsets of larger datasets to visualize on the map.

Finally, we'll look at methods of dynamically acquiring the data for your map from some other site on the web. These methods include accessing data through a published web service and "scraping" data off of pages in which the desired information is not packaged in a convenient format.

The goal of the graded assignment in this lesson is for you to apply what you've learned in the course to produce a sophisticated mapping application of your choice. My expectation is that you'll work on something that goes a bit beyond the assignments you've already completed.

There are a number of directions you could take with this project. One of those directions would be to model your project after the examples in the lesson that demonstrate giving users the ability to map a part of a larger dataset.  However, those of you who are looking for a bigger challenge might want to do something involving web scraping or database-driven mapping.  (For the latter, I point you toward the optional database lesson and the database-related examples found here in this lesson.)  I'm also open to you delving into some other advanced topic that we haven't touched on here. Examples include, but are certainly not limited to:

With the Google API:

  • Custom tiles
  • Handling large numbers/clusters of markers
  • Polygon encoding (used to properly display donut polygons)

With the ArcGIS API:

  • Query tasks/geoprocessing tasks
  • Displaying web maps
  • Extending an app developed with the Web AppBuilder

Please e-mail me your idea before you begin working to make sure that it is appropriate. I will provide a list of project ideas at the end of the lesson for those who can't come up with their own. You can choose to complete this project using either the Google Maps API or the ArcGIS API for JavaScript. If you have excelled with both these APIs and would like to try another similar API like Leaflet, you are welcome to do so with prior approval (with the understanding that the depth of help the instructor can provide may be more limited).