“geo:” URI JavaScript parser

March 12th, 2007 by Christian 6 comments »

As another proof of concept I wrote a little “geo:” URI JavaScript parser.
Basically it scans all anchors in a given text for “geo:” links, extracts location and meta information (e.g. coordinates and corresponding text), places them on a map and appends the map to the text.

I choose to go with a Google Map because I already knew the API, so it was the easiest way. Of course one could modify the script to use any other mapping API’s, create a KML or even transfer the data to a GIS application. If I can free some time in the next weeks I’ll spice the script a little up, some more user defined parameters (e.g. map dimension, marker symbols) and the interpretation of query arguments would be nice though.

See a quick example here: the locations of a few cultural venues are marked with “geo:” anchors, scanned by the script and dynamically shown in the map below.

However, if you’re interested you can download the JavaScript file here. You’ll need a copy of jQuery (I used version 1.1.2) and a valid Google Maps key for your domain too. Then just add the corresponding 3 script elements (Google key, jQuery and geouriparser.js) into the head of your document and let the script find and display the geoURIs in your text.

The idea is heavily inspired by Gutenkarte, a presentation of MetaCarta Labs I remembered from last year’s Where 2.0 conference. Gutenkarte is based on MetaCarta’s Geoparser API, which is of course far more complex than my few lines JavaSrcipt code.

Firefox extension handles “geo:” URI

February 26th, 2007 by alex 24 comments »

The first version of a firefox extension to handle geo-URIs is now available. The plugin uses a proxy to forward ‘geo:’ requests to a mapping service (currently Google Maps, we’re planning to make this configurable RSN).


(click screenshot to install)

The extension should be compatible with Firefox 1.5 and above – You might need to allow software installations from “p.geouri.org”, and firefox will need to be restarted.

After installation, clicking on the following link should bring up a map of Vienna’s city centre:

geo:48.208333,16.372778

As usual, feedback is appreciated – please note that this extension is currently at a “proof of concept” level, subsequent versions will provide more choice of mapping services via a configuration option. The extension should detect new versions automatically as we release them.

Internet Draft about “geo” URI published

February 24th, 2007 by alex 7 comments »

The first version of the geo-URI specification is now available as an Internet Draft on the IETF web site (announcement). An Internet Draft is the first step towards publication of a specification as an RFC.

The draft specifies syntax, format and semantics of the “geo” URI – it also requests registration of the respective Uniform Resource Identifier scheme (“geo:”) from IANA.

The draft will be presented during the session of the GEOPRIV (“geographic location and privacy“) working group on the 68th IETF meeting, taking place March 18-23, 2007 in Prague. The GEOPRIV session is currently scheduled for Tuesday, March 20, 0900 – 1130. Audio streaming will be available from here.

Comments and feedback on the Internet Draft is appreciated.

geoURI primer

February 17th, 2007 by alex 1 comment »

More and more protocols and data formats are being extended by methods to add geographic information. However, all of those options are tied to that specific protocol or data format.

A dedicated Uniform Resource Identifier (URI) scheme for geographic locations would be independent from any protocol, usable by any software/data format that can handle generich URIs. Like a “mailto:” URI launches your favourite mail application today, a “geo:” URI could soon launch your favourite mapping service, or queue that location for a navigation device.

Making the format as simple as possible allows to jot down “geo:” URIs, like you jot down email addresses today. An example for a simple “geo:” URI (St. Stephen’s Cathedral, Vienna, Austria) could look like:

geo:48.208333,16.372778
(you browser will not be able to handle this Link yet, of course)

This blog is about the development of the “geo:” URI scheme. The first goal is the publication of an Internet Draft withing the IETF, probably progressing it to a RFC, and having the URI scheme registered with IANA.