[Windows Phone 7] Mengetahui Koordinat Suatu Alamat Secara Otomatis

Sering kali kita merasa kesulitan mencari posisi suatu alamat pada peta. Terkadang untuk mencari lokasi suatu jalan di suatu kota pun bakal menghabiskan banyak waktu kita dan kita cukup kesulitan mencari dan melihat peta satu persatu. Tapi dengan menggunakan service yang sudah di gunakan oleh Bing Map, kita bisa membuat sebuah aplikasi yang dapat menangkap secara otomatis koordinat suatu alamat. Dan tentu saja untuk mempermudah orang banyak, kita bisa terapkan hal tersebut di dalam sebuah perangkat mobile. Pada kali ini saya akan posting cara-cara membuat aplikasi yang di maksud di Windows Phone 7.

Pertama, buatlah sebuah project “Silverlight Application Phone”, dan buat sebuah project “Windows Phone Application”. Setelah itu, silahkan anda sisipkan sebuah Bing Map control ke dalam aplikasi tersebut, jika anda belum bisa menambahkannya, anda bisa lihat tutorialnya disini. Setelah anda sudah berhasil menambahkan Bing Map control dan menampilkannya di project anda, baru kita akan bahas step by step cara membuat aplikasi yang kita maksud.

Pada “Solution Explore” anda klik kanan “Reference” lalu anda pilih “add Service Reference”. Setelah itu inputan address, masukkan link berikut:

http://dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc . Setelah itu klik “Go” tunggu hingga aplikasi anda selesai melakukan proses download, dan jika sudah selesai beri nama pada “Namespace” sesuai dengan nama yang anda inginkan, lalu klik “OK”. Setelah itu bukan kembali “MainPage.xaml.cs” lalu tambahkan namespace berikut “using namaProjectAnda.NamaNameSpace”. Setelah selesai, tambahkan code berikut:

        public void GeocodeAddress(string address)
        {
            if (address != String.Empty)
            {
                GeocodeRequest geocodeRequest = new GeocodeRequest();

                geocodeRequest.Credentials = new Credentials();
                geocodeRequest.Credentials.ApplicationId = keyApi;
                geocodeRequest.Query = address;

                GeocodeServiceClient geocodeService = 
                        new GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
                geocodeService.GeocodeCompleted += 
                        new EventHandler<GeocodeCompletedEventArgs>(GeocodeCompleted);

                geocodeService.GeocodeAsync(geocodeRequest);
            }
        }

        void GeocodeCompleted(object sender, GeocodeCompletedEventArgs e)
        {
            if (e.Result.ResponseSummary.StatusCode == 
                     GGeocode.ResponseStatusCode.Success)
            {
                if (e.Result.Results.Count > 0)
                {
                    GeoCoordinate coordinate = e.Result.Results[0].Locations[0];
                    MessageBox.Show(coordinate.Latitude.ToString() + ","
                              + coordinate.Longitude.ToString());
                }
            }
        }

Gunakan fungsi “GeoCodeAddress()” dengan parameter string di dalamnya merupakan nama alamat yang ingin anda cari. Lalu code tersebut akan menampilkan koordinat dari alamat tersebut.. Kurang lebih tampilannya akan seperti berikut:

Input Alamat: Saya contohkan mengetikkan kota kelahiran saya “Palembang”😀

Output  akan mengeluarkan koordinat pusat kota Palembang:

Tapi tentu tidak semua alamat yang bisa di deteksi oleh Bing Map ini. Tergantung apa yang ada pada database mereka😀. Belum lagi kemungkinan akan ada nya nama yang sama misal “Jalan Jenderal Sudirman”, banyak provinsi di Indonesia yang memiliki nama jalan “Jalan Jenderal Sudirman”. Jadi tidak bisa di pastikan bahwa hasil yang di hasilkan 100% benar.

Nah, agar lebih keren lagi, kita bisa mengarahkan langsung peta yang di tampilkan dengan mengambil koordinat hasil sebagai pusat peta kita. Silahkan anda coba-coba yak, hal ini sudah saya jelaskan di postingan sebelumnya…

Selesai…. Selamat mencoba…

Semoga membantu😀

2 Responses to [Windows Phone 7] Mengetahui Koordinat Suatu Alamat Secara Otomatis

  1. firman says:

    geocodeRequest.Credentials.ApplicationId = keyApi;
    pada bagian ini keyApi itu merupakan variabel atau apa?

    if (e.Result.ResponseSummary.StatusCode ==
    GGeocode.ResponseStatusCode.Success)
    {
    pada bagian ini keyApi itu merupakan objek, class atau apa?
    di program saya muncul eror karena 2 part ini.

    boleh minta projectnya tidak?

    terimakasih,,🙂

  2. itu adalah key API yang kita dapat dari bing map…

    silahkan lihat tutorial sebelumnya di : https://sabitlabscode.wordpress.com/2011/06/21/menambahkan-bing-map-pada-windows-phone-7/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: