Fauzian Sebastian (Zian Tech)
Menu
  • Home
  • TKJ
    • Perakitan
    • Installasi
    • Konfigurasi
    • TroubleHosting
  • Rekayasa Perangkat Lunak
    • WEB Design
    • Software Aplication
  • Multimedia
    • Animation
    • Desain Graphic
  • Trending Topic
  • Tentang Saya

Tuesday, 6 January 2015

Menampilkan Lokasi Device di Map Secara Real Time di Windows Phone

By zianovel22:33:00 No comments
Assalamualaikum semua,, Setelah beberapa hari yang lalu saya memposting tentang Menampilkan Lokasi Device di Map di Windows Phone, kali ini saya akan memposting hal yang tidak jauh beda,
Hanya saja pada postingan yang kali ini Lokasi Device yang di tampilkan di map akan secara Real Time, jadi ketika lokasi device berpindah maka Lokasi yang di map juga akan berubah secara langsung sesuai dengan koordinat yang baru. Hal ini biasanya digunakan jika kita ingin membuat sebuah GPS atau yang lainnya.

Langkah - langkah Menampilkan Lokasi Device di Map Secara Real Time di Windows Phone

1. Buat sebuah project Windows Phone App baru

2. Seperti pada tutorial sebelumnya kita perlu menambahkan Windows Phone Toolkit pada references project kita dengan cara Klik kanan pada References -> Manage NuGet Packages -> Cari Windows Phone Toolkit -> Klik Install

Menampilkan Lokasi Device di Map Secara Real Time di Windows Phone

3. Buka Capabilities pada file WMAppManifest.xml centang ID_CAP_MAP dan ID_CAP_LOCATION


Menampilkan Lokasi Device di Map Secara Real Time di Windows Phone

4. Tambahkan 1 Map, 6 Textblock dan 1 Button atau anda bisa mengcopy script dibawah ini

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
<TextBlock Text="Lokasi Real Time" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="50"/>
</StackPanel>

<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,1,12,-1">
<Button x:Name="btn_start" Content="Mulai Melacak" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,564,0,0" Width="446" Click="btn_start_Click"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Latitude :" VerticalAlignment="Top" Margin="28,497,0,0"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Longitude :" VerticalAlignment="Top" Margin="28,532,0,0" FontSize="20"/>
<TextBlock x:Name="txt_longitude" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="158,532,0,0"/>
<TextBlock x:Name="txt_latitude" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="158,497,0,0"/>
<TextBlock x:Name="lbl_status" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="158,465,0,0"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Status :" VerticalAlignment="Top" Margin="27,465,0,0"/>

<maps:Map x:Name="map" HorizontalAlignment="Left" VerticalAlignment="Top" Height="465" Width="446" ZoomLevel="14">
<toolkit:MapExtensions.Children>
<toolkit:Pushpin x:Name="pushpinlokasi" Content="Posisi Saya"/>
</toolkit:MapExtensions.Children>
</maps:Map>
</Grid>
</Grid>



5. Tambahkan script dibawah ini pada file .xaml.cs

// Namespace yang diperlukan
using System.Threading.Tasks;
using Windows.Devices.Geolocation;
using Microsoft.Phone.Maps.Toolkit;
using Microsoft.Phone.Maps.Controls;

6. Tambahkan script dibawah ini di atas constructor mainpage.xaml.cs

// deklarasi variable
Geolocator geolocator = null;
bool lacak = false;

7. Pada event btn_start_Click Tambahkan script dibawah ini

private void btn_start_Click(object sender, RoutedEventArgs e)
{
if (lacak == false)
{
geolocator = new Geolocator();
// menentukan akurasi
geolocator.DesiredAccuracy = PositionAccuracy.High;
// jarak perpindahan dalam satuan meter
geolocator.MovementThreshold = 20;

geolocator.StatusChanged += geolocator_StatusChanged;
geolocator.PositionChanged += geolocator_PositionChanged;

lacak = true;
btn_start.Content = "Berhenti Melacak";
}
else
{
// menghapus event handler
geolocator.PositionChanged -= geolocator_PositionChanged;
geolocator.StatusChanged -= geolocator_StatusChanged;

geolocator = null;

lacak = false;
btn_start.Content = "Mulai Melacak";
}
}

8. Buat event untuk menghandle geolocator_PositionChanged dan geolocator_StatusChanged

        void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
Dispatcher.BeginInvoke(() =>
{
// menampilkan koordinat yang baru
txt_latitude.Text = args.Position.Coordinate.Latitude.ToString();
txt_longitude.Text = args.Position.Coordinate.Longitude.ToString();

// memindahkan pushpin berdasarkan koordinat yang baru
Pushpin pushpin = (Pushpin)this.FindName("pushpinlokasi");
pushpin.GeoCoordinate = new System.Device.Location.GeoCoordinate(args.Position.Coordinate.Latitude,args.Position.Coordinate.Longitude);
map.Center = new System.Device.Location.GeoCoordinate(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude);
});
}

void geolocator_StatusChanged(Geolocator sender, StatusChangedEventArgs args)
{
string status = "";

switch (args.Status)
{
case PositionStatus.Disabled:
status = "Lokasi dinonaktifkan pada pengaturan telepon";
break;
case PositionStatus.Initializing:
status = "Menginisialisasi";
break;
case PositionStatus.NoData:
status = "Gagal mendapatkan lokasi";
break;
case PositionStatus.Ready:
status = "Lokasi telah di dapatkan";
break;
}
// menampilkan status pada label status
Dispatcher.BeginInvoke(() =>
{
lbl_status.Text = status;
});
}

9. Jalankan program dengan menekan F5 maka akan seperti gambar dibawah ini

Ketka pertama kali dijalankan
Menemukan lokasi device
Ketika lokasi device berpindah maka pushpin akan ikut berpindah

Anda bisa mendownload source codenya disini
dan untuk passwordnya disini

Sekian pembahasan tentang Menampilkan Lokasi Device di Map Secara Real Time di Windows Phone
Tunggu tutorial menarik lainnya, karena itu kunjungi terus blog ini
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 komentar:

Post a Comment

Popular Posts

  • Mengatasi error "String or binary data would be truncated. The statement has been terminated."
    Malam semua setelah beberapa jam yang lalu saya memposting tentang CRUD dengan VB.NET Bagian 1  kali ini saya akan memposting  C ara mengata...
  • Tutorial Sql Injection Dengan SQLMAP Kali Linux
    Tutorial Sql Injection Dengan SQLMAP Kali Linux - SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukka...
  • Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux
    Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux - Tuxcut adalah sebuah program kecil yang berfungsi ( netcut ) "memotong ...
  • Cara Dual Boot Kali Linux dan Windows
    Kali Linux Indonesia - Cara Install Dual Boot Kali Linux dan Windows halo sobat dimana pun berada disini penulis blog Kali Linux Indonesia...
  • Cara Mengatasi Error di Kali Linux
    Cara Mengatasi Error di Kali Linux - Pernah kah anda mengalami error di kali linux anda? jika pernah pasti menjengkelkan tidak bisa update t...

Blog Archive

  • ►  2020 (1)
    • ►  March (1)
  • ►  2016 (26)
    • ►  October (10)
    • ►  May (1)
    • ►  February (3)
    • ►  January (12)
  • ▼  2015 (35)
    • ►  December (2)
    • ►  October (4)
    • ►  September (18)
    • ►  August (1)
    • ►  June (1)
    • ►  May (2)
    • ►  April (1)
    • ►  March (1)
    • ▼  January (5)
      • Navigasi Halaman dengan Efek Transisi di Windows P...
      • Membuat Context Menu di Wndows Phone
      • Menampilkan Lokasi Device di Map Secara Real Time ...
      • Menampilkan Lokasi Device di Map di Windows Phone
      • Menampilkan Map Berdasarkan Longitude dan Latitude...
  • ►  2014 (99)
    • ►  December (1)
    • ►  November (3)
    • ►  October (1)
    • ►  September (6)
    • ►  August (3)
    • ►  July (3)
    • ►  June (9)
    • ►  May (9)
    • ►  April (27)
    • ►  March (20)
    • ►  February (10)
    • ►  January (7)
  • ►  2013 (17)
    • ►  December (6)
    • ►  November (1)
    • ►  October (9)
    • ►  March (1)

Tentangku Yang tak pernah Usai

My Photo
zianovel
Kenalan dulu yu, karena ada istilah tak kenal maka tak sayang. Ya walaupun terkadang udah lama kenal eh ga disayang-sayang. Giliran udah kenal dan udah sayang, eh malah ditinggal pas lagi sayang-sayangnya.
View my complete profile

Copyright © Design by Muhamad Fauzian