Hirdetés

Alkalmazásfejlesztés badára: Térképet a képernyőre!

Nemrég megnéztük, hogyan tudjuk elkérni a Wave-ben lévő GPS által mért adatokat, most pedig egy térképet fogunk a képernyőre rajzolni. Badában a térképeket egy külső cég, úgynevezett Location Service Provider biztosítja, ez jelenleg a deCarta nevű cégre korlátozódik. Az alkalmazásunk minden egyes indításkor meghívja a Location Service Provider-nek megfelelő webservice-t, és egy felhasználói név / jelszó párossal azonosítja a programot. Ez magával vonja azt is, hogy az alkalmazásunkat nem elég a developer.bada.com oldalra fevinni, hanem az adott providernél is be kell regisztrálnunk.

A deCarta esetében ez egy viszonylag gyors folyamat, új fiókot ezen az oldalon hozhatunk létre, pár adat kitöltése után meg is vagyunk a dologgal, az itt megadott felhasználói nevet használjuk majd az azonosításhoz. A regisztráció után hozzunk létre egy alkalmazásprofilt, amelyhez elég a program nevét megadni; a kapott kulcsra pedig szintén szükség lesz a webservice-en keresztüli ellenőzéshez. Készen vagyunk az előzetes teendőkkel, csapjunk is bele!

Míg a földrajzi koordináták lekéréshez kapcsolódó függvények az Osp::Locations névtérben találhatóak, a térképműveletek metódusait az Osp::LocationServices rejti. Segítségével a térképek megjelenítése mellett több funkció ellátására is képesek vagyunk, úgy mint:

  • geocoding: koordináta és földrajzi név megfeleltetések
  • keresés
  • routing: útvonaltervezés

Első körben el kell kérnünk egy Osp::Locations::Services::IMapServiceProvidert, amelyhez be kell jelentkeznünk az előbb szerzett felhasználói név / alkalmazáshoz tartozó kulcs párossal. Ezt a ProviderManager::ConnectToServiceProviderN() függvénnyel tehetjük meg, amely három bemenőt vár: szolgáltató neve (esetünkben deCarta), szolgáltatás typusa (nekünk a térkép service kell, azaz a LOC_SVC_PROVIDER_TYPE_MAP), valamint egy extra információk nevű mező. Utóbbi egy elég fontos string, ide írjuk a felhasználói nevet, alkalmazáskulcsot, valamint a hoszt címet, amely a deCartánál http://bada.developer.decarta.com/openls/openls. A formátum az alábbi:

ClientName=peldanev;ClientPassword=peldajelszo;HostUrl=http://bada.developer.decarta
.com/openls/openls"

Ez után fel kell venni egy Map példányt, amelyhez az előbb elkért IMapServiceProvidert rendeljük hozzá, majd beállíthatunk néhány alapvető tulajdonságot: térkép mérete, középpont koordinátája, nagyítás szintje stb. A megjelenítéshez először hozzá kell adnunk a formunkhoz, majd meg kell hívnunk a draw() függvényt. A kód ismét elérhető a mobilrénás SVN-ben, a következő alkalommal pedig szintén térképekkel fogunk foglalkozni.

dr. Kind

Azóta történt

Előzmények