It wasn’t few years ago that, when you are looking for a nice meal in new city you would two choices; trudging the streets or way laying a local. Today, with smartphones you can easily locate nearby restaurant, see reviews, ratings, make a choice, and get guided to your meal with turn-by-turn navigation. Geocoding services is providing vital functionality into diverse business domains enabling geolocating & tracking services. By this process, the geographic coordinates of such locations of interest can be derived and this will enable the use of such location information in a Geographic Information System.
Geocoding is the process of transforming a description of a location – such as a pair of coordinates, an address, or a name of a place. You can geocode by entering single location description at once or by selecting significant number of them at once in a table. The deriving locations are output as geographic features with attributes, which can be used for mapping or single analysis. The importance of geocoding accuracy stems from the need of each user, whether business or individual, to identify a location correctly that is important for a business process. Whether the location represents a store, business accuracy is of the utmost importance in each implementation. Geocoding converts address data to exact latitude and longitude coordinates that can be mapped, compared and analyzed.
Geocoding can be described as the process of converting a textual based geographical location into geographical coordinates expressed in terms of longitude and latitude. Geocoding can be achieved using the Android Geocoder. An instance of the Geocoder class can, for instance, be passed a string representing a location for example a city name, street address or postcode. Geocoder will attempt to find a match for the location and return a suggestion list of Address objects that potentially match the location string, and ranked in order with the nearest match in the list. A variety of information can then be extracted from the Address objects, including the longitude and latitude of the potential matches.
The simplest way to add a map to an application is to specify it in the user interface layout XML file for an activity. The following images shows the MapFragment instance added to the xml file created by Android Studio
In MapFragment object, the onMapReady method is activated when the map is ready to be used and provides latitude and longitude of current location.
Note that the value is passed through as the second argument to the getFromLocationName() method. This basically tells the Geocoder to return only one result in the array. Given the specific nature of the address provided, there should only be one potential match. For more location names, however, it might be necessary to request more potential matches and allow the user to pick the correct one.
In above code that longitude and latitude are calculated based on a text location description using GoogleAPI. In that Reverse-geocoding involves the translation of geographical coordinates into a human readable address string.
Geocoding enables marketers to associate with individual consumers in real time by highly specific, customized,, time- and location-based mobile messaging. Using the GPS Signal from a customer’s smartphone, it pinpoints a location, determines the address and analyzes relevant data in a fraction of a second with nearby destination and stores. It makes customized messaging more significant by reaching consumers when and where they are most likely to purchase. From customer management to distribution techniques or simple data analysis to business, there is a wide range of Android application development in which geocoding can be utilized. With geocoded addresses, you can geographically display the address locations and recognize patterns within the information.
WRITTEN BY: Atman Rathod
Atman Rathod is the Founding Director at CMARIX Technolabs Pvt. Ltd., a leading web and mobile app development company with 17+ years of experience. Having…
FEW MORE POSTS BY Atman Rathod: