Google Maps használata OSM, mint alternatív térkép



Hasonló dokumentumok
Google Maps V2. OpenStreetMap, Mapsforge

Google Maps használata Alternatív térképek

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS

Mobil Informatikai Rendszerek

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver

Mobil Informatikai Rendszerek

Mio Technology Limited C510, C710. Gyors használati utasítás a Mio Map v3 programhoz. Magyar

Broadcast Service Widget

Az alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában.

Mobil Informatikai Rendszerek

Programozási technológia

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

UI megismerése, különböző felbontások támogatása, használati jogok kérése

Alap számológép alkalmazás

Felhasználói felület megismerése, különböző felbontások támogatása

Mobil Partner telepítési és használati útmutató

Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Szálkezelés Rajzolás képernyőre Bevitel kezelése - Érintő képernyő - Billentyűzet

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

CabMap hálózat-dokumentáló rendszer

Swing GUI készítése NetBeans IDE segítségével

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Valósidejű térbeli megjelenítés, másként Fehér Krisztián

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

BusEye online személyre szabott utastájékoztató mobil alkalmazás fejlesztése

Szálkezelés Rajzolás képernyőre Bevitel kezelése - Érintő képernyő - Billentyűzet

libgdx alapok, első alkalmazás

Java programozási nyelv 6. rész Java a gyakorlatban

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

WordWall FELHASZNÁLÓI KÉZIKÖNYV

Mobil Informatikai Rendszerek

.Net adatstruktúrák. Készítette: Major Péter

Android 5.0.

Szenzorok megismerése Érzékelők használata

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

- láda- vagy játékleírásból láda/játéklistába visszatérve nem a lista elejére ugrik, hanem ugyanoda, ahol voltunk a listában

Web-fejlesztés NGM_IN002_1

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

1. kép: Raszterek betöltése

Adatbázis-kezelés ODBC driverrel

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

C#, OOP. Osztályok tervezése C#-ban

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

iphone programozás alapjai IV. Gyakorlat

PostaPont bővítmény. A bővítmény csak Opencart 2.2.X és 2.3.X verziókhoz elérhető, kizárólag magyar nyelven!

Java programozási nyelv 5. rész Osztályok III.

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Vodafone-os beállítások Android operációs rendszer esetében

Erste Sorszámhúzó Felhasználói kézikönyv

Elektronikus pályázati űrlap (eform) létrehozása - Útmutató

TaxiLike használati bemutató Taxitársaságok és Taxisofőrök részére

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

Helymeghatározás. Hol vagyok a világban?

Android alapok. Android játékfejlesztés

Java és web programozás

UI megismerése - 2. rész Adattárolás

ANDROID ALKALMAZÁSFEJLESZTÉS

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Az ActiveX beállítása

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Szoftvertechnolo gia gyakorlat

Conversific integráció Átlátható webelemzés ShopRenter tulajdonosoknak

Android Pie újdonságai

Parlagfű Bejelentő Rendszer

WQMobile 1.0 kezelési útmutató

Programozási nyelvek Java

Thermo1 Graph. Felhasználói segédlet

Szakköri segédanyag. Írta: Bátfai Norbert október 26.

Citációs index időintervallumra DE MTMT Adminisztrátorok

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Osztálytervezés és implementációs ajánlások

Bevezetés a Programozásba II 8. előadás. Polimorfizmus Giachetta Roberto

Osztálytervezés és implementációs ajánlások

Szoftvertechnolo gia 7. gyakorlat

Eseményvezérelt alkalmazások

OOP: Java 8.Gy: Abstract osztályok, interfészek

Sygic: Voucher Edition for Android telepítése

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

3. Osztályok II. Programozás II

Fedezze fel. Ez a rövid útmutató hasznos információkat tartalmaz a REACH-IT elindításához, és rövid áttekintést ad a rendszerről

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

TERC V.I.P. hardverkulcs regisztráció

Felhasználói útmutató CVR mobil kliens, ios rendszerhez.

Access adatbázis elérése OLE DB-n keresztül

GeoServer, OpenLayers és WFS. Dolleschall János

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

Felhasználói kézikönyv - Android kliens

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

Java XML kezelés labor

Átírás:

OE-NIK 2012. március 19. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Google Maps használata OSM, mint alternatív térkép

Google Maps Jól használható külső library. Használatához regisztráció és az ÁSZF elfogadása kell! Google Maps API kulcs beszerzése: Google API telepítés Android SDK Manager-ben MD5 lenyomat készítés: C:\Program Files\Java\<JDK_version>\bin>keytool.exe -list -alias androiddebugkey -keystore "c:\users\<username>\.android\debug.keystore" -storepass android -keypass android -v API kulcsszerzés, MD5 lenyomat alapján: http://code.google.com/intl/hu-hu/android/maps-api-signup.html AndroidManifest-ben library használat hozzáadása: Application fül > Application Nodes > Add > Uses Library Name: com.google.android.maps AndroidManifest-ben internet használat kérés: Permissions fül > Add > Uses Permission Name: android.permission.internet 2

Google Maps a gyakorlatban MapView elhelyezése a layout-on: <com.google.android.maps.mapview android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:id="@+id/mymap" android:apikey="<-- API KEY -->" /> Google API target beállítása: Projects menü > Properties > Android > Project Build Target > Google APIs kiválasztása Osztályunk egy MapActivity leszármazott: class MyMapActivity extends MapActivity{ protected boolean isroutedisplayed() {} MapView mymap = (MapView)findViewById(R.id.myMap); } Emulátort is át kell állítani!!! 3

Zoom Controls, Map Controller Beépített +/- zoom engedélyezése: mymap.setbuiltinzoomcontrols(true); mymap.getzoombuttonscontroller().setautodismissed (false); // Automatikus elrejtés tiltása Egyéni zoom gombokhoz saját ZoomControl kell. Térkép irányítása MapController-rel: MapController mc = mymap.getcontroller(); mc.setcenter( new GeoPoint(47533571, 19033851)); mc.setzoom(17); mc.scrollby(120, 120); // Pixelben értendő mc.animateto(new GeoPoint(...)); 4

Pontok és pozíciók elhelyezése Kell egy ItemezedOverlay<OverlayItem> leszármazott: Hozzá egy konstruktor, amiben az alap Marker-t megadjuk Egy listába felgyűjtjük a réteghez tartozó pontokat Előírt/ajánlott metódusok megvalósítása: OverlayItem createitem(int i) int size() + : void addoverlay(overlayitem overlay) Overlay hozzáadása a térképhez MyItemizedOverlay pointsoverlay = // i.-dik elem // listánk elemszáma // hozzáadás new MyItemizedOverlay(pointDefaultMarker); //Drawable List<Overlay> mapoverlays = mymap.getoverlays(); mapoverlays.add(pointsoverlay); Overlay feltöltése adatokkal OverlayItem item = new OverlayItem(new GeoPoint( (int)(location.getlatitude() * 1E6), (int)(location.getlongitude()* 1E6) ), "Hello point", "Deatils "); pointsoverlay.addoverlay(item); mymap.invalidate(); 5

Rajzolás térképre Adott Overlay draw() metódusának felüldefiniálása: public void draw(canvas canvas, MapView mapview, boolean shadow) { Projection projection = mapview.getprojection(); if(overlays.size() > 0 && projection!= null){ Point startpoint = new Point(); projection.topixels(overlays.get(0).getpoint(), startpoint); line.reset(); // Az első pont hozzáadása a Path-hoz = Kezdőpont line.moveto(startpoint.x, startpoint.y); // Végig megyünk a pontokon és hozzáadjuk a Path-hoz for(overlayitem i : overlays){ Point point = new Point(); projection.topixels( i.getpoint(), point ); line.lineto(point.x, point.y); } // És akkor a lényeg, a rajzolás canvas.drawpath(line, p); } super.draw(canvas, mapview, shadow); } 6

Oda-vissza geo kódoló Lényege, hogy koordinátából címet, illetve címből koordinátát fejtsünk vissza. Geo kódoló: Geocoder geocoder = new Geocoder(getBaseContext(), Locale.getDefault()); List<Address> addresses = geocoder.getfromlocation( p.getlatitudee6()/1e6, p.getlongitudee6()/1e6, 1); // addresses.get(0).getaddressline(i); Visszakódoló: List<Address> addresses = geocoder.getfromlocationname( Budapest,Bécsi út,5); p = new GeoPoint( (int)(addresses.get(0).getlatitude() * 1E6), (int) (addresses.get(0).getlongitude() * 1E6) ); 7

OpenStreetMap mint alternatíva 8

OpenStreetMap (OSM) Mi az OSM? Közösségi térkép Az OpenStreetMap egy szabadon szerkeszthető térkép az egész világról. Olyan emberek készítik, mint Te. Az OpenStreetMap lehetővé teszi neked, hogy szabadon megtekintsd, szerkeszd és használd a földrajzi adatokat, bárhol is vagy a Földön. - www.openstreetmap.org Miért lehet jó Android tekintetében? Egy ingyenes alternatíva a Google Maps kiváltására. Online és offline térképadatbázis, vektorgrafikus is. Android támogatás - hasonló MapView osztály. Nem kell API kulcs. Nem lesz mindig teljesen ingyenes a Google Maps??? 9

MapsForge Projektek: MapsForge, Osmand, Osmdroid, MapsForge Projekt 2008-ban indult a Freie Universität Berlin számítógép-tudomány intézetében. Jelenleg ~10 diák és tudományos személyzet vesz részt benne. MapsForge által nyújtott eszközök: Térkép renderelés (offline) Útvonal és navigáció POI index és keresés Map rétegek, Térkép tekintetében: Online, csempék (tile) letöltése Offline, renderelés GTUG November 2010 10

MapsForge - Online Library letöltése mapsforge-map-0.2.x.jar Hozzáadása Project properties / Java Build Path / Libraries / Add JARs Java kód MapView mapview = new MapView(this); mapview.setclickable(true); mapview.setbuiltinzoomcontrols(true); // mapview.setfpscounter(true); mapview.setmapviewmode(mapviewmode.mapnik_tile_download); MapController mc = mapview.getcontroller(); mc.setcenter(new GeoPoint(47.533571, 19.033851)); mc.setzoom(17); setcontentview(mapview); INTERNET WRITE_EXTERNAL_STORAGE 11

MapsForge - Offline Térkép beszerzése (*.osm.pbf): http://download.geofabrik.de/osm/ Térkép fájl létrehozása (*.map ): Segítségül egy előre elkészített script: MapsForgeGenerate-v4 http://code.google.com/p/mapsforge/wiki/mapfilewriter Osmosis Térkép fájl átmásolása SD-kártyára Java kód módosítása MapView mapview = new MapView(this); mapview.setclickable(true); mapview.setbuiltinzoomcontrols(true); mapview.setmapviewmode(mapviewmode.canvas_renderer); mapview.setmapfile("/sdcard/budapest.map"); MapController mc = mapview.getcontroller(); mc.setcenter(new GeoPoint(47.533571, 19.033851)); mc.setzoom(17); INTERNET WRITE_EXTERNAL_STORAGE 12

13