Skip to main content

Reverse Geocoding

    The term geocoding generally refers to translating a human-readable address into a location on the map. The process of doing the converse, translating a location on the map into a human-readable address, is known as reverse geocoding. You can read more about geocoding here.

    The Geocoder in Google Maps API v3, supports reverse geocoding directly. While geocoding, we supply a textual address and that gets mapped as a location on the map. However, in reverse geocoding, instead of supplying the textual address, we will supply a comma- separated latitude- longitude pair and get a textual address as the result. You can have a look at the geocoding example here, before proceeding to the reverse geocoding example.

    The reverse geocoder often returns more than one result. Geocoding "addresses" are not just postal addresses, but any way to geographically name a location. For example, when geocoding a point in the city of Agra, India, the geocoded point may be labelled as a street address, as the city (Agra), as its state (Uttar Pradesh) or as a country (India). All are addresses to the geocoder. The reverse geocoder returns all of these results. Addresses are returned in the order of best to least matches.

    Before it gets too confusing, let us have a look at the following reverse geocoding example and based on the same we will discuss the addresses.



    The main thing that needs concentration in the above code is "results[]". The Google Maps API v3 returns 7 values in the descending order of accuracy of the textual address. In the above code, I have used "results[0]" which will return the most accurate result of reverse geocoding; i.e. the most accurate textual, human-understandable address will be returned.

         The output of the above code for results[0] is as seen below. Please see the details of the address in the info-window.


          For results[1] :


          For results[2] :


          For results[3] :


         For results[4] :


         For results[5] :


         For results[6] :



         As you can see that, the accuracy of the results[] geocoding keeps on decreasing. Now if you put results[7], then the output would be as seen in the image below. The geocoder finds no results to return.


    I hope the concept of reverse geocoding is now clear along with the results that are returned by the geocoder. Hope the images speak my words.If you have any further doubts or queries regarding this post then please feel free to drop a comment here.

    Till then...Happy mapping!

Recommended for You

Difference between word-break: break-all versus word-wrap: break-word

The 2 CSS properties word-break: break-all and word-wrap: break-word appear to work in the same way or generate the same output, but there is a slight difference between the 2 and we will be discussing these differences today.



    Take a look at the example above. The difference is quite evident, however I will try to explain it further.

word-break: break-all Irrespective of whether it’s a continuous word or many words, break-all breaks them up at the edge of the width limit even within the characters of the same word
word-wrap: break-word This will wrap long words onto the next line.break-word adjusts different words so that they do not break in the middle.
    So if you have many fixed-size spans which get content dynamically, you might just prefer using word-wrap: break-word, as that way only the continuous words are broken in between, and in case it’s a sentence comprising many words, the spaces are adjusted to get intact words (no break within a word).     In case you want to exp…

Geodesic, Draggable Onclick Polygon

After creating a simple polygon and then creating an on-click polygon, we will today see how to create a polygon which can be changed, altered, dragged; basically edited on the fly. We will also cover the geodesic polygon in this example itself. If you want to read and understand more about what "geodesic" is, read this post.

    Nothing exceptional about the code that I think needs explanation! You can create a geodesic polygon which can be edited on the fly. Click, hold and drag any marker, and the two polylines connected by this marker will change accordingly. By clicking on the marker, that marker would disappear, and the polygon will reform itself! Here is today's code.


    You can copy the above code in a text file and save it with .html extension. Click on this file; it will open in your default browser and you will see an exciting map in action! The output of the above code appears as seen in the result section above! If you have any doubts or queries regard…

Onclick polygon

Yesterday we had a look at a simple polygon example. But that example was not exciting as it was all hard-coded with no user interaction and which means no fun! Today's example will deal with creating a polygon on the fly, i.e. an on-click polygon in action!

    The code for creating a polygon is very much similar to creating a polyline! The only difference is that you need to replace "Polyline" by "Polygon" in such examples. Let's head on to our code.


    The output of the above code can be viewed in the result section above. If you have any doubts or queries regarding the above code then please comment here or feel free to drop me a mail! Till then, happy mapping!

jQuery Mobile's Next Big Step

Spatial Unlimited changes to The UI Dev


After being hosted on blogger 😣 for the last 6 years 📆, this page has finally been moved to Github.io
This means a few things for you, dear reader!

You will be redirected to the new page shortly! ⏩ ⏩ ⏩


Once crapy HTML is now better looking Markdown! 😍 😍


The entire blog is a Github repo! 😍 😍


Spatial Unlimited is now The UI Dev 😍 😍


Jquery Mobile - Readonly listview

The Jquery Mobile Listview that is used generally used to link each list item to a new page in the application or to link that list item to another list. However, it is not always necessary to have a linked list. Sometime we need to display a list that does not have to be linked to anything else.

    Using Jquery Mobile, we can have non-interactive, read-only listviews in our web pages. This list can be generated using the ordered or un-ordered lists that don't have any linked items, i.e. we basically do not include any anchor tags within our list item tags. This will render the listview as a non-interactive, read-only listview.

    Take a look at the JsFiddle below. The code and the actual result will give you a better picture of how you can implement the non-interactive, read-only listviews.



    Hope you find this example useful. Please drop a comment if you face any problems or have any queries. I would be happy to help and learn more. You can take a look at more examples …