1. Google Maps API
Brief introduction
Maksim Golivkin
www.androidaalto.org
www.mobileguild.eu
Twitter: MaksimGolivkin
13.11.2010 Android Aalto Community
2. Plan
13.11.2010 Android Aalto Community
Intro to Google Maps API
MapView & MapActivity
Overlays
Distances
Balloons
Geocoding
UI update with handlers
3. Intro to maps API: New Project
13.11.2010 Android Aalto Community
Target build and emulator have to use Google API for
platform you have chosen.
For instance, Google API for 1.6
4. Intro to maps API : AndroidManifest.xml
13.11.2010 Android Aalto Community
Things to remember:
uses-library declaration for runtime;
permissions to access Internet and location services.
5. MapView: Layout
13.11.2010 Android Aalto Community
If inappropriate API key is used, map isn't displayed.
For one Google account one can generate several keys.
How to generate your own:
http://code.google.com/android/add-ons/google-apis/mapkey.html
7. Overlays
13.11.2010 Android Aalto Community
Each overlay is information layer on the map.
Google Maps has 3 overlay classes (main purpose below):
Overlay - drawing complex figures on the map and
capturing touch moves.
ItemizedOverlay - abstract, extends Overlay, for drawing
of multiple markers.
MyLocationOverlay - to display user location on the map.
9. Overlays: ItemizedOverlay #1
13.11.2010 Android Aalto Community
Most important thing:
on every content change call protected populate method;
include populate call in constructor
Reference:
http://code.google.com/p/android/issues/detail?id=2035
12. Overlays: MyLocationOverlay
13.11.2010 Android Aalto Community
Convenient to display user location on map.
Most important thing: call disableMyLocation and
disableCompass (if enabled), when activity goes to
background.
17. Balloons
13.11.2010 Android Aalto Community
Nice small existing library.
Available at:
https://github.com/jgilfelt/android-
mapviewballoons
18. Geocoding
13.11.2010 Android Aalto Community
Geocoding - translating coordinates to address.
Reverse geocoding - translating address from coordinates.
GeoCoder class.
Do geocoding in background thread!
19. UI update with Handler
13.11.2010 Android Aalto Community
Nested anonymous classes are ugly!
Alternative: Handler + Message + Bundle.
Note: when updating UI, be sure to instantiate Handler (or
Handler child class) in UI thread. For example, in onCreate
method.
20. Thank you!
13.11.2010 Android Aalto Community
Example code can be found at:
http://mobileguild.eu/code/FindHackatron.zip