Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Location-Based services. Maps Agenda •Geocoding •Interaktive kort med Map Vievs og Map Activities •Overlays til kort •Location-based services •Advarsler.

Lignende præsentationer


Præsentationer af emnet: "Location-Based services. Maps Agenda •Geocoding •Interaktive kort med Map Vievs og Map Activities •Overlays til kort •Location-based services •Advarsler."— Præsentationens transcript:

1 Location-Based services

2 Maps

3 Agenda •Geocoding •Interaktive kort med Map Vievs og Map Activities •Overlays til kort •Location-based services •Advarsler når nær noget

4 Motivation •LBS kan bruges til MEGET •Kørselsdeling •Møder •Social networking/Mobil Social networking •Find din ven •Lokationsbestemt reklame •Lokationsbestemt søgning •Tourist guide med pop-up på givne lokationer •Navigation •Find din bil igen •Mobile spil •Ulykkes Services

5 LBS og android •LBS er et add-on •Understøttes af LBS-APIet: to packages –android.locationandroid.location –com.google.android.mapscom.google.android.maps Location-Based Service android.locationcom.google.android.map

6 LocationManager •Faciliteter –Find positionen –Periodiske updates om positionen –“Fire” en application-specifiseret Intent når telefonen kommer i nærheden af en given position •Applikationen kan gøre tre ting: –Spørge efter listen af alle LocationProviders som er kendt af LocationManager for deres sidste kendte position. –Register/unregister for periodiske opdateringer af position fra en LocationProvider –Register/unregister for at en bestemt Intent bliver “fired” når telefonen kommer tæt på en given position (specificeret ved en radius I meter)

7

8 Location •En klasse der repræsenterer en geografisk position på et bestemt tidspunkt (et "fix"). En placering består af en breddegrad og længdegrad og et UTC tidsstempel.

9 Andre klasser •Address •Geocoder –(længdegrad, breddegrad) adresse •Criteria –Bruges til valg af location provider •Batteri forbruug •GPS, mobilpositionering, akkuratesse, …

10 Eksempel public void onCreate(Bundle SavedInstanceState) { … LocationManager locationManager; String context = Context.LOCATION_SERVICE; locationManager = (LocationManager)getSystemService(context); String provider = LocationManager.GPS_PROVIDER; Location location = locationManager.getLastKnownLocation(provider); updateWithNewLocation(location); }

11 updateWithNewLocation private void updateWithNewLocation(Location location) { String latLongString; … if (location != null) { double lat = location.getLatitude(); double lng = location.getLongitude(); latLongString = "Lat:" + lat + "\nLong:" + lng; } else { latLongString = "No location found"; } myLocationText.setText("Your Current Position is:\n" + latLongString); }

12 Access •Giv tilgang til lokations-info: –I manifest-filen: –Eller – –Barn af manifest-knuden

13 Eksempel - opdateringer •Lav en LocationListener (typisk som anonym klasse) 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){ } };

14 Anvend Listener •Brug den: locationManager.requestLocationUpdates (provider, 2000, 10, locationListener); Sende besked hvert 2000 msek Hvis telefonen er flyttet mindst 10 meter Beskeden skal sendes til dene

15 Find lokations provider Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); //få bedste provider ift kriterier String provider = locationManager.getBestProvider(criteria, true)

16 Google Maps •MapView –Activity som kan vise et Map –Ikke en del af std. Android •Google APIs •Vælg det som tar- get platform

17 Map access •Tilladelse til at bruge net: •Brug map-pakke (del af ) •Begge dele i manifestfilen

18 Map på brugergrænsefladen <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="0Kvw2kImVeCzR7sPmK4LbRepVe JCyuDsw8EXC1Q" /> API key. Hvordan den fås se noter

19 Eksempel public class HelloMapView extends MapActivity { MapView mapView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) findViewById(R.id.mapview); mapView.setBuiltInZoomControls(true); Double lat = 55.412475*1E6; Double lng = 10.325496*1E6; GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue()); MapController mapController = mapView.getController(); mapController.setCenter(point); mapController.setZoom(10); } @Override protected boolean isRouteDisplayed() {return false;} }

20 Tegne på kortet •Jeres opgave ;-) •I skal gennemgå tutorialen Hello MapViex.doc (lig http://developer.android.com/guide/tutorial s/views/hello-mapview.html) http://developer.android.com/guide/tutorial s/views/hello-mapview.html


Download ppt "Location-Based services. Maps Agenda •Geocoding •Interaktive kort med Map Vievs og Map Activities •Overlays til kort •Location-based services •Advarsler."

Lignende præsentationer


Annoncer fra Google