Professional Documents
Culture Documents
Google Maps API: Brief Introduction
Google Maps API: Brief Introduction
Brief introduction
Maksim Golivkin www.androidaalto.org www.mobileguild.eu Twitter: MaksimGolivkin
13.11.2010 Android Aalto Community
Plan
Intro to Google Maps API MapView & MapActivity Overlays Distances Balloons Geocoding UI update with handlers
13.11.2010
13.11.2010
Things to remember: uses-library declaration for runtime; permissions to access Internet and location services.
13.11.2010
MapView: Layout
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
13.11.2010
MapActivity onCreate
13.11.2010
Overlays
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.
13.11.2010
Overlays: hierarchy
13.11.2010
Overlays: ItemizedOverlay #1
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
13.11.2010
Overlays: ItemizedOverlay #2
13.11.2010
13.11.2010
Overlays: MyLocationOverlay
Convenient to display user location on map. Most important thing: call disableMyLocation and disableCompass (if enabled), when activity goes to background.
13.11.2010
13.11.2010
Distance
Note: Google Maps API uses (int) micro-degrees for coordinates; Android Location package uses (double) degrees for coordinates;
microdegrees = degrees * 1000 000; or microdegrees = degress * 1E6; degrees = microdegrees / (double)1E6;
13.11.2010
Distance calculation
13.11.2010
Balloons : usage
13.11.2010
Balloons
Nice small existing library. Available at:
https://github.com/jgilfelt/androidmapviewballoons
13.11.2010
Geocoding
Geocoding - translating coordinates to address. Reverse geocoding - translating address from coordinates.
GeoCoder class.
13.11.2010
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.
13.11.2010
Thank you!
13.11.2010