Web Mapping Services Overview (2/7)

Part 2: Tile Maps and APIs

Say you’re playing around on Google Maps. You click and hold your mouse button to magically drag the map around from Timbuktu to Connecticut. Then you zoom in on Schenectady until you can see your cousin’s car parked in his driveway and his kid playing with his dog in the yard. You might not think much of it now, but let’s remember that all of this was novel just a few years ago. This new (circa 2005) sort of interface is called a slippy map.

Since Gmaps covers the whole planet, and at 18 different scales to boot, the whole map would be WAY too much data for a server to send to your poor little laptop all at once. So what Google cleverly did was slice the map up into a bunch of smaller images, or tiles, which are stored on their servers in some huge warehouse in Wallawallastan. In your browser window, you only see a few tiles at once, and the rest are still packed away in the warehouse. Now say you click and drag the map over. Using a piece of JavaScript called AJAX, your mouse action just told the server, “hey! I need more tiles over here!” Faster than you can blink, your browser dumps the tiles it doesn’t need anymore because they’re off your screen, and the servers shoot you the new ones that make your new map view complete.

This is generally referred to as a Tile Service. There is a TMS protocol developed by OGC, similar to a WMS. But most public tile services are easier to access using their own Application Programming Interface (API) or a publicly-available JavaScript library such as Modest Maps, Leaflet, or OpenLayers. An API is a set of functions and methods, written in any of a number of programming languages, that can be used to access a specific web application. It is essentially a collection of web services bundled together to work with an existing piece of internet software (e.g., Google Maps).5 An API can, but does not necessarily need to, include one or more WMS or TMS. The API includes the functions needed to access various properties of the tile service it’s associated with, but can usually be added to in order to access a different tile service or layers from a WMS server. APIs often include their own methods for adding a map layer from an image file or drawing a vector layer on top of the map. The addition of custom layers on top of an existing tile service is commonly referred to as a map mash-up.


Routes for retrieving online maps


42012. Web Mapping. Wikipedia. Accessed June 25, 2012. http://en.wikipedia.org/wiki/Web_cartography

5Gosnell, D. M. 2005. Professional Development with Web APIs. Wrox Press.