2014-05-18

Map API - Looking for Places around a location

If we are talking about location based application, first of all, we think of GPS or LBS! However LBS only can tell us the coordinate (latitude and longitude) of your current location. It cannot tell you the place that you are standing at.

Thus, we need to work with Map API to get things done.


Features of the Map API


  • Given a location (latitude, longitude) , and then tell you the places near that location;
  • Given a name or name prefix with the location, and then tell you the places that match;
In short, with the help of the Map API + LBS, we are able to tell the possible places to users where they are currently at. 

What's Place?


The most basic and natural form about an location is just the coordinate (latitude, longitude); Imagine that you are at an unknown sea, the only possible information is just the coordinate.
However, the most of the cases, users aren't the sailors, coordinate mean nothing to them. So need the detail about that location, such as the street name, building name, country, etc. 

Geocoding vs Place Search


In the Map APIs, there are kind of information can be retrieved by the coordinate. 
First is the geocoding information, which it is the formal addresses near that coordinates. The method of this process is called "Geocoding". 

Example:
coordinate: 38.889772, -77.042771addresses:
  • 1964 Independence Avenue Southwest, Washington, DC 20227, USA
  • Washington, DC 20245, USA

Second is that place information, which are the places such as  shops, route, hospital, etc. This kind of information include the name of the entity and the address of that.  

Example:
coordinate: 38.889772, -77.042771places:
  • Constitution Gardens (Constitution Gardens, Washington, DC 20024, USA)
  • West Potomac Park (Southwest Washington, Washington, DC, USA)

For my own application, I use Place Search instead of Geocode because it is more understood by the end users.

Available Map API


For my selection, the best are Google Map API or FourSquare API; And there are still many selections available;