Search This Blog

Wednesday, November 21, 2007

Web Maps with the Google Map API

For the last five years, we had been using a proprietary solution to
manage a small percentage of the geographical information about various
university locations. This solution had only a few locations and would
run in only one browser on one operating system. Moreover, it required
users to download a big plug-in. Also, it wasn't stable under heavy use.
In this article, I present our solution -- a web front-end that utilizes
several aspects of the freely available Google Map API to provide a
usable, robust, cross-platform web map. To get the precise geographical
location for specific sites, you could use some kind of a geocoder tool.
There are several free ones (the Perl module Geo::Coder::US, for instance),
but most work only with U.S. addresses. For our purposes, we used Google
Earth (, which in its latest version combines satellite
imagery, maps, terrain, and 3D buildings. This tool gives a simple
interface to navigate over a global satellite map and manually assign
points of interest with markers, polylines, and polygons. This software
was so straightforward that we could give it to our team of rural
engineers and, after a few minutes of training, they were able to
represent a large amount of information that was scattered in a variety
of files in different engineering software formats. The original file
was converted to KML, short for "Keyhole Markup Language", an XML-based
language for managing three-dimensional geospatial data. This file
contained coordinates, labels, and even HTML descriptions, in a format
that was human readable and easy to process using XSLT. With the launch
of its most-recent mapping API, Google has provided web developers with
a feature-rich toolset for representing geographical information in a
web environment. Besides the various functionality that is already present
out-of-the-box, the JavaScript-based environment provides the necessary
facilities to extend the default behavior and satisfy even the most
challenging requirements. It is also remarkable that all these features
come in a package that has been developed from the ground up to be
compatible with most major environments (browsers).

No comments: