Windows Phone中Map控件由浅及深
Map控件,是基于Microsoft的Bing map的地图控件,在WP7能很好的使用bing map实现地图的呈现,缩放,标注和定位等功能。
首先,介绍一下Map控件的简单应用吧。
在使用Map控件之前,我们必须先注册地图获得一个Register Key才能够使用bing map,注册地址:https://www.bingmapsportal.com 。新建一个Sliverlight for Windows Phone的工程,就可以开始练习使用Map控件了。在xaml里添加一个地图控件
在.cs文件里添加register key的代码(或者不使用Binding直接写在xaml中也行)
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<my:Map Height="623" HorizontalAlignment="Left"
CredentialsProvider="{Binding CredentialsProvider}"
Margin="12,-22,0,0" Name="map1"
VerticalAlignment="Top" Width="425"/>
</Grid>
note:应该添加一个namespace:
1 using Microsoft.Phone.Controls.Maps;
2
3 namespace MapExample
4 {
5 public partial class MainPage : PhoneApplicationPage
6 {
7 const String BingMapsId = "Al7xKT8k0tvRNSCTc0uQs6AM1k-gREOdyigcbbbL4z932ynL42ySQuht1Ur6hpLI";
8 private readonly CredentialsProvider credentialsProvider = new ApplicationIdCredentialsProvider(BingMapsId);
9 public CredentialsProvider CredentialsProvider
10 {
11 get { return credentialsProvider; }
12 }
13 // Constructor
14 public MainPage()
15 {
16 InitializeComponent();
17 }
18 }
19 }
这样就可以运行一个最基本的map控件了。
下面,我们看看如何设置map的中心点以及Zoomlevel以及显示模式。
这个很简单只需要改变Center、Zoomlevel和Map.Mode这几个属性的值,同样可以在xaml直接设置,或者在.cs文件里设置,当然,更高级点的用法就是对Center,zoomlevel等进行Binding了。
Map控件还有很多其他的属性,比如ZoomBarVisibility,ScaleVisibility,LogoVisibility等,这些都可以简单的进行设置或者通过Binding技术实现动态的属性值的改变。
然而,Map控件还提供添加标注,添加图片,绘制多边形,多边线等功能。
下面讲讲如何添加一个标记吧。
首先,我们可以在MainPage()里建立并初始化一个标记( 记得添加namespace:using System.Device.Location; )
1 Pushpin pin = new Pushpin();
2 pin.Location = new GeoCoordinate(30, 120);
3 pin.Background = new SolidColorBrush(Colors.Black);
4 pin.Content = "Example";
5 pin.Height = 40;
6 pin.Width = 80;
7 map1.Children.Add(pin); // 一定要记得添加到map1这个控件中哦~
对于多边线,我们用到的是Polyline这样一个类
相关新闻>>
- 发表评论
-
- 最新评论 更多>>