Android Application Maps 1.

Slides:



Advertisements
Similar presentations
Android Application Development Tutorial. Topics Lecture 4 Overview Overview of Sensors Programming Tutorial 1: Tracking location with GPS and Google.
Advertisements

Google APIs & Location Based Applications -Krishna Achanta
CE881: Mobile and Social Application Programming Simon M. Lucas Menus and Dialogs.
GPS and MapView. First In the emulator, set the time zone to something (e.g., east coast) and check that the time is correct. Otherwise, the gps emulator.
CS378 - Mobile Computing Maps. Using Google Maps Like other web services requires an API key from Google ons/google-apis/mapkey.html.
Chapter 11: Discover! Incorporating Google Maps
Lecture 13 Mobile Programming Google Maps Android API.
Location-Based Services: Part 2 (Google Maps)
Location & Maps.  Mobile applications can benefit from being location-aware, e.g.,  Routing from a current to a desired location  Searching for stores.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Android Tutorial Larry Walters OOSE Fall References This tutorial is a brief overview of some major concepts…Android is much richer and more complex.
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
CS378 - Mobile Computing Maps. Using Google Maps Content on using Google Maps inside your app Alternatives: Open Street Maps –
Map Applications.
Route Tracker App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
Introduction to Android Programming Content Basic environmental structure Building a simple app Debugging.
Android Boot Camp for Developers Using Java, Comprehensive: A Guide to Creating Your First Android Apps Chapter 9: Customize! Navigating with a Master/Detail.
Google Maps Android API v2 吳俊興 國立高雄大學 資訊工程學系 CSF645 – Mobile Computing 行動計算
Social network Twitter Hashtag: #m2eu #android Personal Israel Ferrer –
Location based services
CSS216 MOBILE PROGRAMMING Android, Chapter 8 Book: “Professional Android™ 2 Application Development” by Reto Meier, 2010 by: Andrey Bogdanchikov (
PARSING FACEBOOK DATA FOR ANDROID 1. Step by Step  Import Android SDK  Get the hash key  Create a new app  Create a new project in Eclipse 
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
Basic Android Tutorial USF’s Association for Computing Machinery.
16 Services and Broadcast Receivers CSNB544 Mobile Application Development Thanks to Utexas Austin.
Chapter 2 The Android User Interface. Objectives  In this chapter, you learn to:  Develop a user interface using the TextView, ImageView, and Button.
Engage! Android User Input, Variables,
Overview of Android Application Development
Android Boot Camp for Developers Using Java, 3E
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
MAKANI ANDROID APPLICATION Prepared by: Asma’ Hamayel Alaa Shaheen.
Maps Dr. David Janzen Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
First Venture into the Android World Chapter 1 Part 2.
Adding Location Nasrullah. Adding Location Adding a Map Activity Obtaining a Map API Debug Key Adding a Map View Finding an Address with Google’s GeoCoder.
TCS Internal Maps. 2 TCS Internal Objective Objective :  MAPS o Integration of Maps.
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
Cosc 5/4735 YouTube API. YouTube The YouTube Android Player API enables you to incorporate video playback functionality into your Android applications.
Cosc 4735 LocationAware API. Previous on … Before we looked at GPS location. – d-gpslocation.pptx
GPS and MapView. First In the emulator, set the time zone to something (e.g., east coast) and check that the time is correct. Otherwise, the gps emulator.
CS371m - Mobile Computing Maps. Using Google Maps Content on using Google Maps inside your app Alternatives Exist: – Open Street Maps –
3 rd -party APIs Kalin Kadiev Astea Solutions AD.
Chapter 5: Investigate! Lists, Arrays, and Web Browsers.
1 Bus Tracker A Google Maps Application. 22 Objectives You will be able to Add an icon to a map created with the Google Maps API. Use Ajax techniques.
CS499 – Mobile Application Development Fall 2013 Location & Maps.
Lecture 5: Location Topics: Google Play Services, Location API
Tracking device movements
Lecture 5: Location Topics: Google Play Services, Location API.
Location-Based Services: Part 2 (Google Maps)
AnDroid GoogleMaps API
Android Studio, Android System Basics and Git
Android.
Tracking and Booking Taxi
Activities and Intents
Mobile Application Development Chapter 4 [Android Navigation and Interface Design] IT448-Fall 2017 IT448- Fall2017.
Sensors, maps and fragments:
The GoogleMap API By Cody Littley.
CMPE419 Mobile Application Development
תכנות ב android אליהו חלסצ'י.
Persistence - Web Based Storage
Android SDK & App Development
CS371m - Mobile Computing Maps.
Programming with Android: The Google Maps Library
Find your friend – An Android application
Lecture 5: Location Topics: Google Play Services, Location API.
CMPE419 Mobile Application Development
Mobile Programming Dr. Mohsin Ali Memon.
CA16R405 - Mobile Application Development (Theory)
CA16R405 - Mobile Application Development (Theory)
Presentation transcript:

Android Application Maps 1

Out Line Google map service Hello Mapview Customizing map Route Tracker GPX file 2

Using Google Maps Like other web services requires an API key from Google http://code.google.com/android/add-ons/google-apis/mapkey.html required to use MapView class Must: Register the MD5 fingerprint of the certificate used to sign the application. Adding a reference to the Maps API Key in each MapView (xml or code)

Signing Apps deploying apps on the market requires signing the app with a certificate development and debugging uses an automatic key creation process invisible to us In release mode you must create your own private key to sign apps use of keytool program from Java SDK http://developer.android.com/guide/publishing/app-signing.html

Debugging Maps Applications Possible to use the debug key to get a certificate for Google Maps steps: locate debug keystore use keytool to get the MD5 fingerprint of the debug certificate to request map certificate MD5 Message - Digest Algorithm cryptographic hash function

Debug Key Portion of debug.keystore

Getting MD5 Fingerprint use keytool program keytool part of Java SDK keytool -list -alias androiddebugkey -keystore <path_to_debug_keystore>.keystore -storepass android -keypass android gives MD5 fingerprint of the debug certificate keytool of Java 1.7 gives SHA1 by default use -v after keytool, before -list

Google Maps Terms of Service Some Highlights may include ads in future Google may limit number of transactions Cannot use for turn-by-turn directions or autonomous driving

Debug API Key

Out Line Google map service Hello Mapview Customizing map Route Tracker GPX file 10

Hello MapView Build Target - Google, not Android MapView not a standard Android class part of Google Maps Library add to manifest must also include INTERNET permission and LOCATION permission

Aside Permissions http://developer.android.com/reference/android/Manifest.permission.html

MapView A type of view for layout file

MapActivity Create class that extends MapActivity instead of Activity import com.google.android.maps.MapActivity; must implement isRouteDisplayed method must return true if any kind of route (to be followed) is displayed, per terms of use

Instance Vars and onCreate Add instance variables and initialize in onCreate method

HelloMapView Run app Displays map and allows panning and zooming

Out Line Google map service Hello Mapview Customizing map Route Tracker GPX file 17

Customizing Map Easy to display map and allow interaction Customize with markers and overlays Overlays used to display information on top of map use ItemizedOverlay class

ItemizedOverlay

ItemizedOverlay populate method will call createItem define createItem and return value from the ArrayList instance var define size method that returns number of overlay items

Adding Overlays In MapActivity create OverlayItem add to HelloItemizedOverlay add to MapView Need a drawable for the marker res/drawable issues display gif format images on some devices

Changes to HelloMapView

Add Overlay Items Create GeoPoint and use these to create OverlayItems GeoPoint based on microdegrees lat and long times 1,000,000 Build OverlayItems out of GeoPoints and include strings for title and snippet text to display when drawable clicked

addOverlays method in HelloMapView

Result one overlay with multiple items based on locations we added

Display Information To display information (title and snippet) of overlay override the onTap method in the ItemizedOverlay class

Results of Clicking Longhorn

Out Line Google map service Hello Mapview Customizing map Route Tracker GPX file 28

Reverse Geocoding Find addresses from longitude/latitude Geecoder uses a backend that is NOT included in the core android framework use isPresent method to check for service location = locationManager.getLastKnownLocation( LocationManager.GPS_PROVIDER); double lat = location.getLatitude(); double lng = location.getLongitude(); Geocoder gc = new Geocoder(this, Locale.getDefault()); List<Address> addresses = null; try { addresses = gc.getFromLocation(lat, lng, 5); // maxResults } catch (IOException e) {}

Forward Geocoding Find longitude/latitude (and more) from address or airport code Geocoder gc = new Geocoder(this, Locale.US); List<Address> addresses = null; try { addresses = gc.getFromLocationName( “713 N. Duchese, St. , Missouri”, 5); } catch (IOException e) {} double lat = addresses.get(0).getLatitude(); double lng = addresses.get(0). getLongitude (); String zip = addresses.get(0).getPostalCode();

Maps Example Route Tracker using Locations, MapActivity, MapView, and Google Maps from Deitel AFP-AADA Similar to Map My Ride popular app among cyclists and runners

RouteTracker App

RouteTracker App using FrameLayout to stack components with the most recently added component on top ToggleButton at bottom to start and stop route tracking MapView added to FrameLayout route is an overlay to map with points and lines connecting points

RouteTracker Starting Activity RouteTracker Classes RouteTracker Starting Activity deals with LocationProvider BearingFrameLayout Displays MapView rotates based on bearing from location RouteOverlay Overlay with location points (every 10th) and lines connecting. Converts locations to GeoPoints. Overloads draw

Criteria Class Set criteria for selecting a LocationProvider

GpsStatus.Listener Responds to changes in GPS status Are we receiving GPS fixes? App does not track unless this is true

Out Line Google map service Hello Mapview Customizing map Route Tracker GPX file 37

Simulating GPS Data to simulate changes in location in emulator GPS data in a file GPS Exchange Format (GPX)

Creating GPX Files Many apps and programs One option for Android devices GPSLogger gpsbabel to convert between various GPS formats gpx has different versions

Running GPX files in App DDMS Emulator Control Tab GPX Tab Load

Running GPX