google maps api for android

Post on 19-May-2015

16.506 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presenting use of Maps, distance calculation, geolocation. Code examples.

TRANSCRIPT

Google Maps APIBrief introduction

Maksim Golivkin

www.androidaalto.orgwww.mobileguild.eu

Twitter: MaksimGolivkin

13.11.2010 Android Aalto Community

Plan

13.11.2010 Android Aalto Community

Intro to Google Maps API MapView & MapActivityOverlaysDistancesBalloons

GeocodingUI update with handlers

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

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.

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

MapActivity onCreate

13.11.2010 Android Aalto Community

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.

Overlays: hierarchy

13.11.2010 Android Aalto Community

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

Overlays: ItemizedOverlay #2

13.11.2010 Android Aalto Community

Overlays: ItemizedOverlay usage

13.11.2010 Android Aalto Community

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.

Overlays: MyLocationOverlay usage

13.11.2010 Android Aalto Community

Distance

13.11.2010 Android Aalto Community

Note:Google Maps API uses (int) micro-degrees for coordinates;

Android Location package uses (double) degrees for coordinates;

microdegrees = degrees * 1000 000; ormicrodegrees = degress * 1E6;

degrees = microdegrees / (double)1E6;

Distance calculation

13.11.2010 Android Aalto Community

Balloons : usage

13.11.2010 Android Aalto Community

Balloons

13.11.2010 Android Aalto Community

Nice small existing library. Available at:https://github.com/jgilfelt/android-mapviewballoons

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!

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.

Thank you!

13.11.2010 Android Aalto Community

Example code can be found at:http://mobileguild.eu/code/FindHackatron.zip

top related