Great Open Source Map Tools for Web Developers

A long time ago, when Web 2.0 was just Web 1.0, we had to ask people for directions, copy them down, and hope we had a foldable map to help us find our way. Then along came MapQuest, followed by Google Maps in 2005. Today, it seems impossible to imagine finding our way without handheld phones and Web-based maps.

Google Maps and its cousins Yahoo Maps and MapQuest have grown into integral parts of the Web. It's now odd for a website to offer an address without a map showing the location and offering directions. The mapping APIs made it easy for people to insert snippets of maps into their websites; now the maps are everywhere.

These APIs were also one of the leaders in the Web 2.0 vanguard because they offered stunning visual proof that users can do great things with remixed data. Everyone started plotting their geographic data on their websites because the JavaScript code made it as easy as adding a few lines.

The explosive growth and endless optimism came crashing to an end in October 2011, when Google started charging heavy users. Light users could still get the services for free, but everyone else was going to pay to support the big map in the sky. It wasn't as tragic as it might seem, but Google's decision was one of the first to signal the end of totally free era.

While some groused, others saw opportunity. Before the price change, everyone was happy to let the big companies do the hard work because no one wanted to compete with a free service from Google. Why pay for what you could get for free? The new prices were steep enough to open the door to competition, making it possible for new companies to get traction.

These new stacks use liberal amounts of open source software mixed with proprietary tools and services. You do what you want on your own and pay for what you can't do. Open source licenses give you the control. While some will still grouse about not getting everything for free, there's no doubt the new marketplace offers many more options and opportunities than before.

To understand the breadth and depth of this new ecosystem, I spent some time building maps and hacking code using these tools. The options are expanding quickly as companies are building their own databases for holding geographical data, their own rendering tools for building maps, and their own software for embedding the maps in websites. I built maps, added data, created overlays, and stuck virtual pushpins all over the place.

Working with these tools can be a bit more complex than working with a big provider like Google. Some of these companies make JavaScript tools for displaying the maps, and others just deliver the raw tiles that the browsers use to assemble the maps. (All browser-based map tools break the maps up into pre-rendered squares or tiles that can be downloaded independently.) Working with the code means making decisions about how you want to assemble the pieces -- now within your control. You can stick with one simple library or combine someone else's library with tiles you produce yourself.

The new tools are great, but the up-and-comers will continue to face stiff competition from the big companies. MapQuest still has the prettiest maps, in my opinion. Microsoft's Bing Maps offer a neat bird's-eye view that gives a nicer perspective than vertical photos. Google has been pumping more money into better 3D imagery and better street-level views -- including those you can take offline. Google is also rapidly integrating Google Maps with its other databases. It's now possible, for instance, to search the maps with the name of a business. All of the above are competing, it turns out, with Apple, which is releasing its own mapping tools for iOS developers.

Of course, these commercial juggernauts have plenty of resources to draw your attention to their mapping tools. The list that follows highlights some of the smaller upstarts that seem ready to give the bigger companies some true competition. The tools are smooth, elegant, and flexible. They're going to give the big companies a real run.

OpenStreetMap The source of data for many of these programs is OpenStreetMap, a big collection of coordinates and names for streets around the world. If you want a map, you can grab this huge collection of coordinates and plot them. Voilࡼ/p>

The real fun comes if you create an account on the website. Suddenly, an Edit button appears and you can fire up an editor to make changes as you would in a wiki built around text. The site keeps getting better and better as people add roads, streams, and trails to the data set.

The license is a bit tighter than many of the standard open source licenses. If you improve the data, you have to share your improvements with everyone. You can do what you want with any maps you create, but once you start sharing the maps built with improved data, you must share the data too. In the parlance of open source licenses, the stickiness quotient is high. If you start using the data, you'll be stuck contributing.

The OpenStreetMap servers also distribute the raw tiles built from this data, but the project discourages any use that puts a strain on its equipment. The website points to a long list of companies that turn the data into services that you can use.

You can edit your own neighborhood with the browser-based interface of OpenStreetMap, an open source collective building the data structures that describe the world.

OSGeo OSGeo is a collection of open source packages for creating maps and displaying them in browsers. Some of the projects are old and effectively obsolete, and some are newer versions that effectively replace the old ones.

Some of the tools are for building applications. For instance, MapFish is a collection of server-routines written to make it simpler for you to get your mapping data into a coherent form. It projects some background layers, then you insert your data on top.

One of the most prominent OSGeo projects is OpenLayers, a good, general JavaScript library that can display any number of layers from all of the big map providers and many of the smaller ones. There are at least a dozen options for getting your tiles and the tools for interacting with them.

The group has been building upon this core, which seems to have become stable in 2007. Among the newer projects is GeoMoose, a tool for mixing OpenLayers data with geographic data overlays. It's popular with real estate tax departments in state governments.

Most of the OSGeo projects are protected by generous BSD or MIT licenses.

Subscribe to the Daily Downloads Newsletter

Comments