0
l

Maps
l

l
l

Maps

Google Maps API is widely used on the web
The Android SDK provides support for easily
integrating the Google...
l
l

l

Using Google Maps in our apps

Configure
l Maps require the Google API as the project build
target
l Maps require ...
l

Add Google API in Eclipse

• http://developer.android.com/sdk/adding-components.html
l
l

Add Google API in Eclipse

Use API 4 for SDK 1.6

– http://developer.android.com/guide/appendix/api-levels.html
l
l

Add Google API in Eclipse

Set the Google API as the Project Build Target
l Right-click on the project, select Proper...
l

l

•
l

l

Keys

As we learned in lab 1 section 6,

– https://sites.google.com/site/androidappcourse/labs/lab-1

our ap...
l

Find your keystore

• http://code.google.com/android/add-ons/googleapis/mapkey.html
l

Find your debug keystore

• http://code.google.com/android/add-ons/googleapis/mapkey.html
l

Get your certificate fingerprint

• http://code.google.com/android/add-ons/googleapis/mapkey.html
l

Register your certificate with Google

• http://code.google.com/android/maps-api-signup.html
l

Add the Map API Key to your
Application

• <com.google.android.maps.MapView
•
android:id="@+id/myMap"
•
android:layout_...
l

l

l

What’s in the legal agreement?

Read the Terms of Service (sections 1-11)
l http://code.google.com/android/maps-a...
l

Configure AndroidManifest.xml

• <application android:name="MyApplication" >
• <uses-library android:name="com.google.a...
l

l

Finally, we can start coding

MapView
l Contains a map
l via Google Maps API
l Map tile retrieval and caching is all...
l

l

MapActivity

MapView can only be constructed or inflated in a
MapActivity

• public class MyActivity extends MapActi...
l

l

MapView Modes

MapView
l You determine mode
l setSatellite(true);
l setTraffic(true);
l setStreetView(true);
l

l

•
•
•
•
•
•
•

MapController

You can pan and zoom the map programmatically

MapView myMap = (MapView)findViewById(R...
l

l

GeoPoint

You can move to a particular point

•
•

MapView myMap = (MapView)findViewById(R.id.myMap);
MapController ...
l

l

Reverse Geocoding

Find address from longitude/latitude
•
•
•
•
•
•
•
•
•
•

location = locationManager.getLastKnown...
l

l

Forward Geocoding

Find longitude/latitude (and more) from address

•
•
•
•
•
•
•
•

Geocoder gc = new Geocoder(this...
l

l

Geolocation

Options
l GPS, cell network
l Wifi-based
l Skyhook Wireless
l http://www.skyhookwireless.com/developers...
l

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

Setting up location services

public MyActivity() {
criteria = new Criteria();
cri...
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

@Override
protected void onStart() {
super.onStart();
locationManager = (Loca...
l

•
•
•
•
•
•
•
•
•

Turn GPS on and off to save battery

@Override
protected void onPause() {
super.onPause();
//stop re...
Upcoming SlideShare
Loading in...5
×

Map

269

Published on

Its explain about the map activity in android, How we can create Google map in android and create an app id with signature.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
269
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Map"

  1. 1. l Maps
  2. 2. l l l Maps Google Maps API is widely used on the web The Android SDK provides support for easily integrating the Google Maps API
  3. 3. l l l Using Google Maps in our apps Configure l Maps require the Google API as the project build target l Maps require a Map API Key in order to be deployed l http://code.google.com/android/add-ons/googleapis/maps-overview.html Code l Create a MapView in a MapActivity l Create Map Overlays
  4. 4. l Add Google API in Eclipse • http://developer.android.com/sdk/adding-components.html
  5. 5. l l Add Google API in Eclipse Use API 4 for SDK 1.6 – http://developer.android.com/guide/appendix/api-levels.html
  6. 6. l l Add Google API in Eclipse Set the Google API as the Project Build Target l Right-click on the project, select Properties
  7. 7. l l • l l Keys As we learned in lab 1 section 6, – https://sites.google.com/site/androidappcourse/labs/lab-1 our apps must be signed in order to deploy them on a device Eclipse automatically creates a signed debug keystore that is used when launching our app from Eclipse In order to deploy our app to the public, we must create a signed keystore – See http://developer.android.com/guide/publishing/appsigning.html#ExportWizard
  8. 8. l Find your keystore • http://code.google.com/android/add-ons/googleapis/mapkey.html
  9. 9. l Find your debug keystore • http://code.google.com/android/add-ons/googleapis/mapkey.html
  10. 10. l Get your certificate fingerprint • http://code.google.com/android/add-ons/googleapis/mapkey.html
  11. 11. l Register your certificate with Google • http://code.google.com/android/maps-api-signup.html
  12. 12. l Add the Map API Key to your Application • <com.google.android.maps.MapView • android:id="@+id/myMap" • android:layout_width="fill_parent" • android:layout_height="fill_parent" • android:clickable="true" • android:apiKey="@string/mapApiKey"/>
  13. 13. l l l What’s in the legal agreement? Read the Terms of Service (sections 1-11) l http://code.google.com/android/maps-api-signup.html Examples l Maps may include ads in future l Google may limit number of transactions l Cannot use for turn-by-turn directions or autonomous driving
  14. 14. l Configure AndroidManifest.xml • <application android:name="MyApplication" > • <uses-library android:name="com.google.android.maps" /> • ... • </application>
  15. 15. l l Finally, we can start coding MapView l Contains a map l via Google Maps API l Map tile retrieval and caching is all done for you l Includes pan l Includes zoom l use setBuiltInZoomControls(true);
  16. 16. l l MapActivity MapView can only be constructed or inflated in a MapActivity • public class MyActivity extends MapActivity { •… • @Override • public void onCreate(Bundle savedInstanceState) { • super.onCreate(savedInstanceState); • … • MapView myMap = (MapView)findViewById(R.id.myMap); • myMap.setBuiltInZoomControls(); • myMap.setSatellite(true);
  17. 17. l l MapView Modes MapView l You determine mode l setSatellite(true); l setTraffic(true); l setStreetView(true);
  18. 18. l l • • • • • • • MapController You can pan and zoom the map programmatically MapView myMap = (MapView)findViewById(R.id.myMap); MapController mapController = myMap.getController(); mapController.setZoom(1); //widest zoom/far away … mapController.setZoom(21); //narrowest zoom/close in mapController.zoomIn(); //one level mapController.zoomOut(); //one level
  19. 19. l l GeoPoint You can move to a particular point • • MapView myMap = (MapView)findViewById(R.id.myMap); MapController mapController = myMap.getController(); • • • • • • Double lat = 37.123456 * 1E6; Double long = -122.123456 * 1E6; GeoPoint point = new GeoPoint(lat.intValue(), long.intValue()); mapController.setCenter(point); //jump to point … mapController.animateTo(point); //smooth transition to point
  20. 20. l l Reverse Geocoding Find address from longitude/latitude • • • • • • • • • • 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, 10); } catch (IOException e) {}
  21. 21. l l Forward Geocoding Find longitude/latitude (and more) from address • • • • • • • • Geocoder gc = new Geocoder(this, Locale.US); List<Address> addresses = null; try { addresses = gc.getFromLocationName( “123 Main St., Newton, Kansas”, 10); } catch (IOException e) {} double lat = addresses.get(0).getLatitude(); String zip = addresses.get(0).getPostalCode();
  22. 22. l l Geolocation Options l GPS, cell network l Wifi-based l Skyhook Wireless l http://www.skyhookwireless.com/developers/Android_Integration_M anual.php
  23. 23. l • • • • • • • • • • • • • • • • • • Setting up location services public MyActivity() { criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); }; private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { updateWithNewLocation(location); } public void onProviderDisabled(String provider) { updateWithNewLocation(null); } public void onProviderEnabled(String provider) {} public void onStatusChanged(String provider, int status, Bundle extras) {} };
  24. 24. • • • • • • • • • • • • • • • • • • • • • • @Override protected void onStart() { super.onStart(); locationManager = (LocationManager)getSystemService( Context.LOCATION_SERVICE); provider = locationManager.getBestProvider(criteria, true); // or could be LocationManager.GPS_PROVIDER try { updateWithNewLocation(locationManager.getLastKnownLocation( provider)); } catch (Exception e) {} locationManager.requestLocationUpdates(provider, 2000, 10, locationListener); } private void updateWithNewLocation(Location location) { double latitude = 0.0; double longitude = 0.0; if (location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); //do something with latitude and longitude (e.g. print or move map there) }
  25. 25. l • • • • • • • • • Turn GPS on and off to save battery @Override protected void onPause() { super.onPause(); //stop receiving GPS locationManager.removeUpdates(locationListener); } @Override protected void onResume() { super.onResume(); //restart receiving GPS locationManager.requestLocationUpdates(provider, 2000, 10, • locationListener); • }
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×