The document discusses location-based services on Android. It describes how to obtain a user's location on Android using the LocationManager and LocationListener classes from the Android location framework. It covers the permissions needed to access coarse or fine user location data and provides examples of getting user location updates. It also introduces commonly used location APIs from Google Places and Foursquare for conducting place searches and queries based on user location.
2. Jomar Tigcal
● Community Manager of GDG Philippines
● Mobile Apps Developer
● Software Engineer at Stratpoint
Technologies, Inc.
● One of the developers of Moochfood
http://jomar.tigcal.com
jomar@tigcal.com
@jomartigcal
3. Moochfood
Moochfood is an
Android application
that allows you to
record, rate and share
dining experiences.
http://www.moochfood.com/
5. Challenges
● Obtaining user location can consume a lot of
battery
● Getting location takes some time
● Because the user location changes, you
must account for movement by re-estimating
user location every so often.
● Location estimates from each source may
not be accurate.
6. android.location
Android provides a location
framework that your
application can use to
determine the device's
location and bearing and
register for updates.
http://developer.android.
com/reference/android/locat
ion/package-summary.html
8. Android Permissions
Note:
If you are using both NETWORK_PROVIDER
and GPS_PROVIDER, then you need to
request only the ACCESS_FINE_LOCATION
permission, because it includes permission for
both.
9. Android Location API
● Location
A class representing a geographic location sensed
at a particular time.
● LocationManager
This class provides access to the system location
services.
● LocationListener
Interface used for receiving notifications from the
LocationManager when the location has changed.
19. Google Places API
● Place Searches return a list of Places based on
a user's location or search string.
● Place Details requests return more detailed
information about a specific Place, including user
reviews.
● Place Actions allow you to supplement the data
in Google's Places Database with data from your
application. You can schedule Events, add and
remove Places, or weight Place rankings from
user activity with Place Bumps.
20. Google Places API
● Places Autocomplete can be used to provide
autocomplete functionality for text-based
geographic searches, by returning Places as
you type.
● Query Autocomplete can be used to provide a
query prediction service for text-based
geographic searches, by returning suggested
queries as you type.
21. Getting API Key
● Go to Google APIs console (http://code.
google.com/apis/console)
● Create an API Project
● Select Services
● Turn on Places API
22. Places Search
● Nearby Search
by location (latitude, longitude)
● Text Search
by search query
(e.g. "pizza in Bacolod")
24. Nearby Search Required Parameters
● key
API Key
● location
latitude, longitude
● radius
distance in meters, maximum of 50, 000 m
● sensor (true/false)
if request came from location sensor (GPS)
25. Nearby Search Optional Parameters
keyword - content
language - language code
name - name
rankby - prominence or distance
*if rankby=distance, radius should not be included
types
pagetoken
26. Place Search Types
Separated by |
Examples:
food restaurant convenience_store
hospital school grocery_or_supermarket
More at:
https://developers.google.
com/places/documentation/supported_types
29. Foursquare API
Core API: Check in, view their history, see where
their friends are, create tips and lists, search for
and learn more about venues, and access specials
and recommendations.
Real-time API: Venue push API notifies venue
managers when users check in to their venues,
and our user push API notifies developers when
their users check in anywhere.
30. Foursquare API
Merchant Platform: Allows developers to write
applications that help registered venue owners
manage their foursquare presence and
specials.
Venues Platform: Search for places and access
a wealth of information about them, including
addresses, popularity, tips, and photos.
31. Foursquare Venues Search
Search Foursquare database and find
information including tips, photos, check-in
counts, and here now
Syntax:
https://api.foursquare.com/v2/venues/search
32. Venues Search Parameters
Required Parameters:
● ll (latitude, longitude) - user's location
or
● near (text) - place where to search
● v (YYYYMMDD) indicates that the client is
up to date as of the specified date
33. Venues Search Parameters
Optional Parameters:
● query - name of place to search
● limit - number of results (max is 50)
● radius - distance in meters (max is 10,000)
● categoryId - comma-separated categories to
limit search