Overview

This package provides access to geographic location information. The primary entry point is {@link Geocoder} and is injected into the core.

Implementation

When deployed there is a remote web service that can be accessed via the URL {@link GeocodeSettings.URL}. An optional CGI parameter of ip can given to this URL for testing. If absent it assumes you are asking to geo code the IP address of the referring IP.

The output of this web service represents a map of key,value pairs. The output grammar is:
S ::= T N Line*
T ::= String (key-value separator)
N ::= String (entry separator)
Line ::= String T String N
an example would be the following

'Ip' '\t' '76.8.67.2' '\n'
'CountryCode' '\t' 'US' '\n'
'CountryCode3' '\t' 'USA' '\n'
'CountryName' '\t' 'United' States '\n'
'Region' '\t' 'NY' '\n'
'Region2' '\t' 'New' York '\n'
'City' '\t' 'New' York '\n'
'PostalCode' '\t' '10004' '\n'
'Latitude' '\t' '40.6888' '\n'
'Longitude' '\t' '74.0203' '\n'
'DmaCode' '\t' '501' '\n'
'AreaCode' '\t' '212' '\n'