(WP8)Membuat Bing Map Pada Windows Phone

Salam Semangat, Super sekali…

ok kali pada postingan sebelumnya kita sudah mendaftarkan key Map pada portal Bing Map kepunyaan Microsoft, untuk kali ini kita akan langsung terjun ke pembuatan Map itu sendiri, sama dengan platform lainnya untuk pembuatan map kita harus membutuhkan logitude dan latitude, dengan ada nya informasi keduanya kita langsung bisa dapat menggunakan fungsi map tersebut, dengan adanya itu kita akan mencoba kolaborasi dengan map tersebut dengan menggunakan fungsi situs lainnya seperti Map Masjid, restauran, Tempat WIsata dan sebagainya, itu yang di sebut dengan Mashup aplication, mungkin untuk mashup application akan saya posting di lain kali.. kita langsung ke lembar kerja…

1. Create New Project dengan Nama MapBing dan tambahkan gambar di bawah ini..

2. Buka File Main.XAML kita akan membuat User Interface terlebih dahulu..

Ambil Fungsi Map Pada ToolBox
1-25-2013 9-52-56 PM

   <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <maps:Map />
        </Grid>

Tambahkan scrip di bawah ini pada tag map:Map Tersebut

 <my:Map ZoomBarVisibility="Visible" ZoomLevel="12" Grid.Row="1" CredentialsProvider="Your Key Here" x:Name="map"/>

3. Tambahkan Button di atasnya..

<Button x:Name="startLocationButton" Grid.Row="0" Content="Get Current Location" Click="startLocationButton_Click"/>

1-25-2013 9-59-55 PM

4. Deklarasi GeoCoordinateWatcher untuk mendapatkan fungsi dari geolocation

  
public MainPage()
        {
            InitializeComponent();
        }

        GeoCoordinateWatcher watcher;

5. Masuk Ke aktifitas Button Click dan tulis scrip di bawah ini..

  private void startLocationButton_Click(object sender, RoutedEventArgs e)
        {
            if (watcher == null)
            {
                watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
                watcher.MovementThreshold = 20;
                watcher.StatusChanged += new EventHandler(watcher_StatusChanged);
                watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs>(watcher_PositionChanged);

            }
            watcher.Start();
        }

6. buat method watcher_PositionChanged dan watcher_StatusChanged

  void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
        {
            switch (e.Status)
            {
                case GeoPositionStatus.Disabled:
                    MessageBox.Show("Location Service is not enabled on the device");
                    break;

                case GeoPositionStatus.NoData:
                    MessageBox.Show(" The Location Service is working, but it cannot get location data.");
                    break;
            }
        }

        void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs e)
        {
            if (e.Position.Location.IsUnknown)
            {
                MessageBox.Show("Please wait while your prosition is determined....");
                return;
            }

            this.map.Center = new GeoCoordinate(e.Position.Location.Latitude, e.Position.Location.Longitude);

            if (this.map.Children.Count != 0)
            {
                var pushpin = map.Children.FirstOrDefault(p => (p.GetType() == typeof(Pushpin) && ((Pushpin)p).Tag == "locationPushpin"));

                if (pushpin != null)
                {
                    this.map.Children.Remove(pushpin);
                }
            }

            Pushpin locationPushpin = new Pushpin();
            //locationPushpin.Style = this.Resources["PushpinStyle"] as Style;
           // locationPushpin.Template = this.Resources["PinTemplate"] as ControlTemplate;
          //  locationPushpin.Template = this.Resources["ImagePin"] as ControlTemplate;


            //Uri imgUri = new Uri("Images/MapPin2.png", UriKind.RelativeOrAbsolute);
            //BitmapImage imgSourceR = new BitmapImage(imgUri);
            //ImageBrush imgBrush = new ImageBrush() { ImageSource = imgSourceR };
           
            //locationPushpin.Content = new Rectangle()
            //{
            //    Fill = imgBrush,
            //    Height = 64,
            //    Width = 64
            //};

            locationPushpin.Background = new SolidColorBrush(Colors.Purple);
            locationPushpin.Content = "You are here";
            locationPushpin.Tag = "locationPushpin";
            locationPushpin.Location = watcher.Position.Location;
            this.map.Children.Add(locationPushpin);
            this.map.SetView(watcher.Position.Location, 18.0);
        }

RUN

1-25-2013 9-59-55 PM

Advertisements

Published by

jarcode

hello I am jarcode

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