Helymeghatározás Hol vagyok a világban?
Miről lesz mostanában szó?
Módszerek
Hálózati információk
GPS és hálózat alapján
Proximity események
Google Geo API
Térkép nézet
Diploma tippek
Általánosságban
Elvárt szolgáltatás
Legtöbb készülékben van GPS
Gyors és pontos (hétköznapi használatra)
Módszerek: GPS Mobilhálózat WIFI
alapú
adatbázis alapú
Helyfüggés kihasználása
Telefon mindig nálunk
Tudhatjuk hol vagyunk
Használjuk ki ezt az információt! Közeli
helyek
Navigáció Előre
kitölthető elemek
Szórakozás:
Geocaching, Guide
Társkeresés:
Tinder
A mérleg két oldala
Pontosság (GPS vs. hálózat alapú) Érdemes És
ellenőrizni a pontosságot
az időbélyeget
Energiafogyasztás Pozíció
frissítés gyakorisága
Sikertelen
frissítés esetén milyen gyakorisággal próbáljuk újra?
Új
pozíció esetén milyen műveleteket hajtunk végre?
WIFI alapú helymeghatározás WiFi
Access Point adatbázis
Keresés SSID MAC
cím
Jelerősség Adatbázis
alapján
pl.
http://openbmap.org/api/
getGPSfromWifi.html
Cella alapú helymeghatározás Aktuális
cella azonosító és környező cella azonosítók lekérdezése
Jelerősség Háromszögelés Cella
adatbázisok
http://opencellid.org/ http://www.openbmap.org/
Cella központok a környéken
Háromszögelés feladat!
public Point holVagyokEn(List
) ;
Ahol a Torony osztálynak van
X, Y koordinátája
Iránya fokban
Távolsága
Milyen megoldási javaslatok vannak?
GPS alapokon
24 műhold tervezve (MEO)
Valójában több lett 31
Vevő kicsi, így kis eszközökbe is beépíthető
Sugárzott információ:
Idő
Műhold pozíció
Rendszerállapot
Becsült pozíció
GPS alapú helyzetmeghatározás
A jel közel fénysebességű
A vevő az érkezési idő felhasználásával számolja a pozíciót
3 műholdra elég rálátni, ha nanosec pontosságú az időbélyeg (nem az)
4 műholddal már hétköznapibb órák segítségével is működik a dolog
Android rendszerszolgáltatások
Rendszertől elkérhető szolgáltatások
Használtunk már ilyet többször is :)
getSystemService(…)
Context.NOTIFICATION_SERVICE
Context.ALARM_SERVICE
Context.LOCATION_SERVICE
Context.TELEPHONY_SERVICE
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE)
Diplomatippek
Célszerű részek: Bevezetés, Tervezés, Megvalósítás, Összegzés
Kifejezések, Felhasznált Irodalmak jegyzéke
Idegen vs magyar szavak használata
Egyes vagy többes első személy
Forma
Munka vs dokumentáció haladás
Telefónia szolgáltatás Cella
állapot (CellID, LAC)
Szomszédos
Cella
cellák, és azok infói
pozíció
Hálózati
operátor neve
IMEI Telefonesemények Engedélyek
(AndroidManifest.xml) !!!
Pozíció meghatározás GPS,
mobil és Wifi is adhat egyidőben Pontosság
– sebesség
Folyamatos mozgás
Pozíciók frissessége - pontossága
Location API
Callback függvények itten is
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVI CE);
Folyamatos frissítés kérése
locationManager.requestLocationUpdates(Locati onManager.NETWORK_PROVIDER, 0, 0, locationListener);
Location API 2 requestLocationUpdates
paraméterei Provider
típus (GPS, hálózat)
Minimum
idő 2 frissítés között
Minimum
távolság
LocationListener
interface implementációja
LocationListener onLocationChanged onStatusChanged onProviderEnabled onProviderDisabled
Location API, ha végeztünk removeUpdates(...) Ha
már nincs szükség további pozíció frissítésekre
Tipikusan
onPause, onDestroy...
locationManager.removeUpdates(lo cationListener)
Location API, mielőtt elkezdjük Manifest
fájlba engedélyköteles
<uses-permission android:name=„android.permission.ACCESS_FIN E_LOCATION” />
ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION
Proximity Alertek
Jelzés helyszín közelségére
Gyakran szükség lehet rá
Intelligensen választ providert
Kelleni fog:
Koordináta, sugár, amin belül jelezni kell
PendingIntent, amit el lehet tüzelni, mint bekövetkezett esemény
Lejárhat (timeout)
Ennyit mára.
http://erdekes.herokuapp.com [email protected]