Using this function you can easily reverse geocode an address into a lat and lang position. This uses the jq executable and the Google Maps API.


This little snippet requires jq to be installed. It is very easy to install.

From the site:

jq is a lightweight and flexible command-line JSON processor

It is multi-platform, so no worries for Windows users.

Here is the meat:


function reverse-geocode() {
  # replace spaces with + signs
  STRING=$(echo $1 | tr ' ' '+')
  # save results
  CURLED=$(curl "$STRING&sensor=true")
  # save lat and lng
  LANG=$(echo $CURLED | jq '.results[0].geometry.location.lng')
  LAT=$(echo $CURLED | jq '.results[0]')
  # echo them out
  echo "Lat: $LAT, Lang: $LANG"


reverse-geocode "998 Oxford Street E, London ON, N5Y 3K7"

This return the curl results as well as the Lat and Lang output for the location.