Membuat Aplikasi Selular Sendiri Aplikasi SecondMap

Aplikasi Ini merupakan lanjutan dari pembuatan aplikasi FirstMap . Beberapa fitur akan ditambahkan pada aplikasi ini , di antaranya Tombol Kontrol, Kontrol Peta, Penanda Peta, Lokasi GPS pada Peta , Kejadian Dasar , dan penambahan data file KML secara on-line .

TOMBOL KONTROL

Anda mungkin tidak bisa menggeser peta menggunakan tombol panah atau joystick . Hal ini di karenakan tombol panah hanya berfungsi untuk memindahkan fokus seleksi antar elemen form , dan peta itu sendiri tidak mendapatkan informasi mengenai kejadian penekanan tombol ini.

Solusinya , Anda harus mendefinisikan beberapa tombol lain untuk mengaktifkan pergerakan peta . Misalnya , Anda dapat mendefinisikan " tombol Angka " ( untuk moving " ) , tombol asterik "*" ( untuk zoom out ) dan pagar " # " ( untuk zoom in ) .


mapItem.defineControlKey(ControlKey.MOVE_UP_KEY,Canvas.KEY_NUM2) ;
mapItem.defineControlKey(ControlKey.MOVE_DOWN_KEY,Canvas.KEY_NUM8);
mapItem.defineControlKey(ControlKey.MOVE_LEFT_KEY,Canvas.KEY_NUM4);
mapItem.defineControlKey(ControlKey.MOVE_RIGHT_KEY.Canvas.KEY_NUM6);
mapItem.defineControlKey(ControlKey.ZOOM_IN_KEY,Canvas.KEY_POUND);
mapItem.defineControlKey(ControlKey.ZOOM_OUT_KEY,Canvas.KEY_STAR);


Baris kode diatas ditambahkan sebelum menambahkan komponen mapItem ke dalam form. Perlu dicatat bahwa untuk sebagian besar perangkat , tombol ini akan bekerja setelah kursor berada pada kanvas peta . Cara ini kurang efektif untuk aplikasi pemetaan profesional , dan disarankan untuk menggunakan pemetaan tingkat bawah menggunakan API mapComponent.



KONTROL POLA SENTUH

MapItem juga mendukung kontrol peta pada layar sentuh . Tetapi , ini hanya dapat digunakan dengan ponsel layar sentuh pointing stick . Untuk membuat fungsionalitas ini , perhatikan langkah berikut :

Buat kanvas kosong untuk memeriksa apakah ponsel terdapat pointer .

   final Canvas canvas = new Canvas() {protected void paint(Graphics arg(){}
   } ;


Jika ponsel mempunyai pointer , maka tampilkan kontrol peta diatas kanvas , demikian sebaliknya .


  if (pointer)  {
                        mapItem.setOnScreenZoomControls(newOnScreenZoomControls(Untils.createImage(OnScreenZoomControls.DEFAULT_ZOOM_IMAGE))) ; }else { mapItem.setCursor(new DefaultCursor(0x
FFFF0000)) ;



Jika anda mempunyai layar sentuh lengkap dengan stylus , Anda dapat menggeser peta dengan melakukan drag peta secara langsung melalui layar . Perlu dicatat bahwa pengaturan emulator sun WTK harus di konfigurasi ulang agar mendukungn pointer , karena pengaturan standar tidak mendukung pointer .



MEMBUAT PENANDA PETA

Menambahkan beberap titik (point) pada peta , Khususnya untuk menandai beberapa lokasi ,Anda memerlukan kordinat geografis lokasi yang dimaksud . Aplikasi bisa mendapatkan koordinat ini dari berbagai sumber berbeda , seperti membaca dari layanan online ,membaca dari sebuah file sumber lokal atau bahkan bertanya pada pengguna . Intinya , Anda harus mempunyai koordinat dalam bentuk sistem koordinat WGS84 sebagaimana yang pernah anda jumpai pada aplikasi web atau yang digunakan dalam file KML.

1.Impor komponen place dan definisikan variabel image.

         import com.nutiteq.Components.Place ;
         private Image icon ;


2.Anda harus membuat ikon sebagai penanda dan membuat gambar kedalam peta . Untuk itu, Anda harus menyalin sebuah gambar PNG berukuran kecil ke folder " res " proyek anda . misalkan di beri nama " nutiteq.png ". Selanjutnya tambahkan baris kode berikut kedalam kelas startApp .Perlu dicatat bahwa pembacaan gambar harus di buat di dalam blok try-catch.


try { 
        icon = Image.createImage("/nutiteg.png") ; 
}   catch  (IOException e) {
}


3.Tambahkan place kedalam peta , dengan ikon dan label yang telah didefinisikan . 

mapItem.addPlace(new Place(1,  "Tallinn", icon, 24.764580 , 59.437420)) ;


Berikut adalah daftar parameter komponen place . 


  • Id place , " 1 " . Digunakan untuk identifikasi tempat tertentu , Anda harus menaruh nomor unik disini . 


  • Item Label place , " Tallin " .


  • Gambar penanda untuk place " icon " .


  • koordinat longitude dan latitude sebuah place , " 24.764580 , 59.437420 " . 


4.Terakhir , Anda dapat menggambarkan garis pada peta . Pertama , buat objek lokal line dan masukkan larik linepoints dengan beberapa titik ( harus berupa WgsPoint) . Selanjutnya , tambahkan linePoints ke line , dan terakhir , tambahkan line ke item peta . Perlu di catat bahwa garis hanya berupa grafis garis , bukan berupa tempat . Oleh karena itu , Anda tidak dapat menangani kejadian atau lainnya untuk garis ini . 

WgsPoint[] linePoints={
        new WgsPoint (24 . 76382468302337 , 59 . 44325151314919) ,
        new WgsPoint (24 . 76344295658494 , 59 . 4462352840583) ,
        new WgsPoint (24 . 76593650384734 , 59 . 44530921763007) ,
        new WgsPoint (24 . 76804665483925 , 59 . 44616268729941),
        new WgsPoint (24 . 76810500478219 , 59 . 443291656657)
} ;

 Line line = new Line (linePoints, new LineStyle (linePoints , new LineStyle(0xFF0000,5));
mapItem.addLine(line) ;




1      2



Artikel Menarik : CARA MEMBUAT APLIKASI SELULAR SENDIRI MENAMPILKAN LOKASI GPS PADA PETA