Rabu, 09 Maret 2011

Simulasi GPS Windows Phone 7 dengan Menggunakan FakeGPS

Windows Phone 7 telah dilengkapi dengan perangkat Global
Positioning System (GPS) yang dapat digunakan untuk mengetahui posisi device
berada di dalam sistem koordinat posisi di permukaan bumi. Namun dalam
pembangunan sebuah aplikasi yang memanfaatkan GPS seringkali kita mengalami
kendala karena windows phone emulator tidak dapat secara langsung mengakses
sensor GPS. Oleh karena itu, developer harus menggunakan teknik mocking untuk
dapat mengetahui koordinat posisi pada windows phone simulator. Salah satu
caranya adalah dengan menggunakan FakeGPS yang dapat diunduh dari http://wp7gps.codeplex.com. FakeGPS
merupakan class tambahan yang di-include ke dalam project aplikasi kita agar
dapat mensimulasikan GPS.

Cara menggunakannya adalah sebagai berikut :

1. Masukkan FakeGPS.cs yang telah kita download ke
dalam project kita dengan cara copy FakeGPS.cs ke dalam directory project
terlebih dahulu, lalu include to project file tersebut ke dalam project
aplikasi kita.

Copy FakeGPS into project

Show all files

Include fakeGPS.cs into project

2. Kita tambahkan reference System.Device dan
System.Xml.Linq juga ke dalam peoject kita. System.Device digunakan untuk
mendapatkan variable GeoCoordinate yang berisi data spatial koordinat posisi
sedangkan System.Xml.Linq digunakan oleh FakeGPS.cs untuk membaca route xml
yang berisi data xml manipulasi spatial gps.

add system.device reference

Add system.xml.linq

3. Kita generate route XML configuration yang bisa kita peroleh dari http://wp7gps.codeplex.com di bagian bawah

halaman, lalu kita masukkan ke dalam variable string ROUTE di dalam FakeGPS.cs

  1 public const string ROUTE = @"
2 <?xml version='1.0' encoding='UTF-8' ?>
3 <routes update_interval='500' pause='2000' meters_per_second='2763.57673104478' >
4 <route lat='-7.282644' lon='112.793963' duration='30.0' heading='186.7' />
5 </routes>"
;

XML Route berisi manipulasi rute koordinat posisi yang nantinya akan dibaca oleh aplikasi sebagai hasil output sensor GPS. Xml Route ini tidak hanya menyimpan satu koordinat titik saja, tetapi juga dapat berisi informasi yang digunakan untuk GPS Tracking yang memiliki beberapa titik koordinat yang dilalui.

4. Setelah kita selesai memanipulasi xml route di atas, kita masuk ke dalam business login sistem aplikasi kita. Sebagai contoh, kita tambahkan object button dan textbox pada windows phone page.

5. Kita tambahkan event method pada saat tombol ditekan untuk mengeluarkan posisi latitude
dan longitude pada textbox yang sudah kita tambahkan tadi seperti di bawah ini.

  1 private void button1_Click(object sender, RoutedEventArgs e)
2 {
3 IGeoPositionWatcher<GeoCoordinate> _watcher
4 if (System.Diagnostics.Debugger.IsAttached)
5 _watcher = new FakeGps();
6 else
7 _watcher = new GeoCoordinateWatcher();
8
9 _watcher.Start();
10 this.textBox1.Text = _watcher.Position.Location.Latitude+" - "+_watcher.Position.Location.Longitude;
11 }

Method di atas memiliki maksud apabila sistem berjalan dalam
pada kondisi debugging atau berjalan pada emulator, variable _watcher akan akan
diisi oleh informasi class dari fakeGPS. Sedangkan apabila sistem tersebut
sudah dideploy ke dalam device windows phone 7, maka _watcher akan diisi oleh
nilai dari sensor GPS device sebenarnya.

6. Hasilnya dapat kita lihat pada gambar di bawah ini.

Result

Download source here.

External Link : http://students.netindonesia.net/blogs/izzuddin/archive/2011/02/20/simulasi-gps-pada-windows-phone-7-emulator-dengan-menggunakan-fakegps.aspx

Tidak ada komentar:

Posting Komentar