最近自学了一下windowsphone8和大家分享一点

最近听老师说了一下wp8,于是,自己就找资料自学了一点.......

说一下关于地图控件map的一些简单用法吧,总的来说一个简单的map就包括(road)道路模式,和(Aerial)航测模式,另外可以在加一个放大,缩小以及你当前的位置等等

因为我目前以是菜鸟级别的,所以就随便介绍一下了:我是用c#写的,关于页面的xaml代码,我就不写了,那个比较简单,我就写一下后台用c#的实现过程:

      private void ico1_Click_1(object sender, EventArgs e)//放大

        {            

    mapname.ZoomLevel = mapname.ZoomLevel + 1;   

      }//mapname是map控件的名字

        private void ico2_Click_1(object sender, EventArgs e)//缩小      

   {           

    mapname.ZoomLevel = mapname.ZoomLevel -1;

        }

        private void ico3_Click_1(object sender, EventArgs e)//道路模式  

       {            

mapname.CartographicMode = Microsoft.Phone.Maps.Controls.MapCartographicMode.Road;  

       }//Microsoft.Phone.Maps.Controls可以先用命名空间引用

        private void ico4_Click_1(object sender, EventArgs e)//航测模式   

      {            

mapname.CartographicMode = MapCartographicMode.Aerial;

        }

接下来是稍微重要的一点:

      private async void but_Click_1(object sender, RoutedEventArgs e)//我的位置

        {             var geolo = new Windows.Devices.Geolocation.Geolocator();

            Windows.Devices.Geolocation.Geoposition myGeoPosition = null;        

     try             {                

myGeoPosition = await geolo.GetGeopositionAsync();//await只能用于异步方法中,因此要用async修饰;

            }

            catch (Exception)

            {

                //throw;              

   MessageBox.Show("请在设置中勾选位置服务"); //至于如何勾选,打开properties中的WMAppManifest.xml后面有一个功能,找到相应的勾选就可以了

            }

            var position = new System.Device.Location.GeoCoordinate(myGeoPosition.Coordinate.Latitude, myGeoPosition.Coordinate.Longitude);             mapname.Center = position;             mapname.ZoomLevel = 10;   

      }

 

 

posted @ 2013-05-30 16:11  大白的记事本  阅读(539)  评论(2编辑  收藏  举报