Bagikan Juga!!


Lokasi tengah pada peta juga didefinisikan dengan koordinat latitude dan longitude WGS84. Geser peta ke lokasi GPS saat ini , asumsikan bahwa ponsel Anda terdapat GPS internal , atau dukungan Java Location API (JSR-179) dengan GPS eksternal ( misal , Nokia s60 v3 ). Terdapat beberapa cara untuk mendapatkan lokasi pengguna melalui pustaka MGMaps :


  • Dukungan JSR-179 API .
  • Bluetooth GPS.
  • Penentuan posisi Cell-ID ( bekerja pada beberapa ponsel , seperti ponsel Java SonyEricsson).
1. Import paket lokasi ke MIDlet.

      import com.nutiteq.location.LocationMarker ;
      import com.nutiteq.location.LocationSource ;
      import com.nutiteq.location.providers.LocationAPIProvider ;
      import com.nutiteq.location.NutiteqLocationMarker ;
      import com.nutiteq.components.PlaceIcon ;

2. Definisikan sumber lokasi (provider standar , JSR-179) , dan tipe khusus sebuah objek (LocationMarkers) untuk menampilkan lokasi GPS pada peta . Perlu di catat bahwa beberapa gambar di perlukan untuk menampilkan penanda .

if(System.getProperty("microedition.location.version")  !=null) {
                final LocationSource dataSource = new LocationAPIProvider(3000) ;
    try{
     final Image gpsPresentImage = Image.createImage ("/gps_marker.png") ;
     final Image gpsConnectionLost = Image.createImage ("/gps_connection_lost.png") ;
     final LocationMarker marker = new NutiteqLocationMarker (new PlaceIcon(gpsConnectionLost, 4, 16), new PlaceIcon(gpsConnectionLost, 4, 16) , 3000, true) ;
dataSource.setLocationMarker(marker) ;
mapItem.setLocationSource(dataSource) ;
} catch (final IOException e) {}  }


3.Compile dan jalankan perubahan kode anda . Perlu di catat bahwa JWTK akan menginformasi peringatan tambahan untuk mendapatkan informasi lokasi . Anda mungkin akan menjumpai peringatan bahwa JWTK memberikan 0,0 sebagai koordinat lokasi default , ini berada di samudra atlantik laut lepas nigeria . Jadi , Anda hanya akan melihat laut biru pada peta.

JWTK memungkinkan anda mengubah koordinat lokasi ,yaitu melalui menu MIDlet  > External event Generator , ubah koordinat latitude  dan longitude yang ada pada bagian lokasi . Tunggu beberapa saat dan perhatikan layar emulator . Jika tidak terjadi kesalahan saat mengunduh peta , maka akan ditampilkan peta dengan koordinat ( -7,792300224,  110,369903564 ) merupakan koordinat kota yogyakarta pada tingkat perbesaran 12, yang di peroleh dari OpenStreetMap.org .


4.Pada perangkat riil , anda akan mendapatkan koordinat GPS yang sesungguhnya . Satu hal yang perlu Anda perhitungkan adalah waktu yang di perlukan untuk mendapatkan lokasi fix GPS - tergantung pada GPS anda , penyedia layanan A-GPS , lokasi fisik. Biasanya waktu yang di butuhkan sekitar 30 detik sampai beberapa menit . 


KEJADIAN DASAR ( BASIC EVEN )

Komponen mapItem dapat mengirim pesan ke sebuah aplikasi MIDlet berdasarkan beberapa kejadian, seperti pemilihan penanda tertentu pada peta , mengklik , menggeser , zoom peta , dan peringatan kesalahan yang mungkin terjadi pada pustaka.

1. Import Paket PlaceListener ke dalam MIDlet.
    
            import com.nutiteq.Listener.OnMapElementListener ;

2. Definisikan tombol kontrol untuk pemilihan tempat .

           mapItem.defineControlKey(ControlKeys.SELECT_KEY, -5) ;

3.Tambahkan referensi implementasi PlaceListener kedalam kelas utama MIDlet.

           public class HelloMap
           extends MIDlet
           implements CommandListener,OnMapElementLisrener {

4. tambah satu atau lebih element ke dalam form, untuk menampilkan teks suatu tempat .

          // define property for HelloMap class private StringItem message) ;
         // define new item for the form , in StartApp class, set initial value message =
new StringItem(" " , " ") ;
mMainForm.append(message) ;


5.tambahkan handler aktual untuk kejadian elementClicked, elementEntered dan elementLeft . Seluruh kejadian ini akan memperbaharui pesan dalam form .Pada aplikasi real , logikanya mungkin lebih kompleks saat terjadi penekanan template (place-objek peta) , seperti menampilkan layar terpisah dengan informasi detail sebuah objek . Perlu dicatat bahwa jika OnMapElementListener di gunakan , maka keseluruhan method ini juga harus di definisikan .

     public void elementClicked(final OnMapElement p)  { message.setText
(clicked  place  name :          "        +
p.getLabel () .getLabel ());
}
public void elementEntered(final OnMapElement p)  {
    message.setText ("Entered   place   name :      "        +
    p.getLabel () .getLabel ()) ;
}








Artikel Menarik : Peluang Infopreneur






 
Top