GEO tagging using QR Codes

Including geographic information in a QR code allows you to encode a point on Earth.

A QR Code reader might then open a local mapping application or could open a mapping web site like Google Maps in the device’s web browser. It will be centered to the specified location or query and set to the zoom state accordingly to your specifications.

The Geo URI scheme is still under development and not fully supported. Draft is available
here. It provides latitude, longitude and optionally altitude.
Optionally you can add a query defined in the Google Map Parameters or in the Google Maps API.
This query can contain search information (‘?q=hotel+near+city’), zoom information (‘?z=10’) or map type information (?t=[m|k|h|p])


What’s inside the geo tag?

The begin characters (‘geo:’) tells the decoding software the type of the embedded data.
Then you can specify the geo information you want to include.

geo-URI = “geo:” geo-location [ “?q=” query [ “[&|?]z=” zoom-level ] [ “[&|?]t=” map-type ] [ “[&|?]layer=” layer-type ] ]

The properties are as follows:

geo URI Property Description and syntax
geo-location Syntax: geo-location = latitude “,” longitude [ “,” altitude ]

latitude (deg N in range[-90, 90]),
longitude (deg W in range[-180, 180])
altitude (optional, elevation above mean sea level in meters, can be negative).

query(optional) query = search_words concatenated with “+”

specified in section 3.4 of RFC 3986.

zoom-level (optional) zoom level = [1..20]

1 shows the whole Earth, centered at the given geo-location.
2 shows a quarter of the Earth, and so on.
Values above 20 will be clamped.

map-type (optional) available options are “m” map, “k” satellite, “h” hybrid , “p” terrain, “e” GoogleEarth, “8” 8-bit
layer-type (optional) activates overlay

available options are “t” traffic, “c” street view


The resulting geo-URI can look like:







Testing with Google Maps App on Android resulted in:

  • If you specify a query with a location name, geo-location is superseded.
  • If you specify any query, zoom level is superseded.
  • If you specify a query, you might consider to omit geo-location data.
  • Combining geo-location and zoom level set gives a piece of a map.
  • If you specify a query with a location, be aware of specifying a unique location. Results are rated according to current user position.

coming next: tagging geographic information for Google Streetview

Leave a Reply

Your email address will not be published. Required fields are marked *