In this application, a computer generated map of the world is embedded into an HTML document using the <IMG> tag for in-line images. Additional links in the document are used as controls allowing the user to change various map rendering options (e.g. pan, zoom, level of detail). Users can interact with the Map Viewer using any WWW browser, that supports in-line images, such as NCSA Mosaic [NCSA1]. The Map Viewer server will also provide GIF format map images for use separately or inclusion in other documents.
Since the Map Viewer was created before the forms extension to HTML was available, regular hypertext links are used for changing map rendering options.
Links in each HTML document (with labels such as "Zoom In") have URLs corresponding to different map rendering parameters, allowing the user to modify the map image by selecting the links. By including the HTML ISMAP attribute in the included IMG element, the server receives image coordinates whenever the user selects a point on the map. The server uses the coordinates to zoom in on the selected location.
The GIF format map images are produced by a separate utility program which is run on the Unix server as a subprocess of the perl script. The rendering options are parsed from the requested URL and converted into command line options for the map generating program, which is invoked using the perl system() function. The output of the map generating program is normally fed directly over the network to the HTTP client without ever being stored in a file. The server does have an image file cache of the most frequently requested images. This cache is checked before invoking the map generating program.
http://hostname/map/option=value/.../option=value
Where the options specify rendering attributes such as latitude, longitude, map extent, and which geographic features to display. Although the slash character is often used in HTML URLs to define a hierarchical name space (allowing relative path URLs), the Map Viewer's URL name space is not hierarchical and it uses the slash as a simple separator. The order of options is not significant (URLs generated by the map server have the options in alphabetical order) and all options have a default value. An example URL for displaying the Hawaiian Islands is:
A list of of the Map Viewer Rendering Options is available in the on-line version of this paper and also in the Map Viewer's on-line documentation [Putz1].http://mapweb.parc.xerox.com/map/lat=21.34/lon=-157.97/wd=9.0/ht=4.5
<IMG SRC="http://mapweb.parc.xerox.com/map/color/ iwd=200/iht=100/format=.gif">
It is also possible to link the image back to the interactive Map Viewer interface so that clicking on the image will allow the user to zoom and customize the view.
<A HREF="http://mapweb.parc.xerox.com/map/
border/lat=41.9/lon=14.8/wd=16/ht=11">
<IMG SRC="http://mapweb.parc.xerox.com/map/iwd=128/iht=100/nogrid/
border/lat=41.9/lon=14.8/wd=16/ht=11/format=.gif"></A>
A particularly innovative use of the map service is the U.S. Gazeteer WWW service created by Brandon Plewe [Plew1]. It integrates an existing Geographic Name Server with the PARC Map Viewer. A user simply enters a search query (e.g. the name of a city, county, lake, state or zip code) and a list of matching places is returned as a formatted HTML document. Selecting from the list generates another HTML document consisting of two maps (small and large scale) with the location highlighted (using the Map Viewer's mark option). The server in New York does not generate or retrieve the map images, since they are references directly to the HTTP server at Xerox PARC. The user's WWW browser retrieves the map images from the server in California and displays the complete document to the user.