2 double latitude = double.Parse("-122.34942" );
3
4 pushpin pushpin = new pushpin();
5 pushpin.Location = new Location(latitude, longitude); 从上可以看书,实现定位还是使用的上一篇文章中介绍的Location类。呵呵,多记一遍~~~~那如何加入在地图中了,其实很简单的,Bing Maps地图控件直接提供了图钉层,通过内嵌的方式既可加入图订层,默认使用Bing Maps提供的图形标记。 代码 1 <m:Map CredentialsProvIDer="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:name="map"
2 Center="33.845881352,105.165628188471" ZoomLevel="6.0">
3 <m:pushpin Location="33.845881352,105.165628188471"></m:pushpin>
4 </m:Map> 不错,要在地图上加上一个图钉层就是这么简单,并直接定位于 33.845881352,105.165628188471这个坐标之上,知道这个坐标是那里吗?他就在俺们“China”上,不行你可以看看下面的截图: 通过上述我们成功的添加上了一个小图钉层在地图上,除了添加图钉外,我们还可以自定义添加图形、图片、视频等在地图上,要实现添加图形、图片或视频等数据到地图上,需要使用Bing Maps为我们提供的地图图层(MapLayer)来实现,如下: 代码 1 <m:Map CredentialsProvIDer="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:name="map"
2 Center="33.845881352,105.165628188471" x:name="maypushpin"></m:pushpin>
4 <m:MapLayer x:name="myMapLayer"></m:MapLayer>
5 </m:Map> 如上在地图中加入了一空白地图图层,接下来就可以使用程序动态在地图图层上添加自己想加的东西了,比如上面我们已经定位到了中国地图区域,接下来我们将中国国旗插上地图可以吗?答案是肯定的,如何做? 代码 1 private voID btnAddpushpin_Click(object sender, RoutedEventArgs e)
2 {
3 double longitude = double.Parse(this.tbLongitude2.Text.Trim());
4 double latitude = double.Parse(this.tblatitude2.Text.Trim());
5
6 Location location = new Location(latitude, longitude);
7
8 Image image = new Image();
9 image.source = new BitmAPImage(new Uri("http://localhost:2986/Images/China.jpg", UriKind.relativeOrabsolute));
10 image.Stretch = Stretch.None;
11 image.ImageFailed += delegate(object senders, ExceptionRoutedEventArgs ex)
12 { };
13 positionOrigin position = new positionOrigin(1.0, 1.0);
14
15 this.myMapLayer.AddChild(image, location, position);
16 } 同样通过Location进行坐标的精度和纬度定位,通过将制定的图片序列为Image对象作为一个可显示的对象添加到地图图层就OK了。效果如下: OK,成功的在地图上插上了中国国旗!~~~~~Silverlight完整代码如下:
@H_755_502@
代码 1 <UserControl x:Class="pushpinLayer.MainPage"2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
5 xmlns:d="http://schemas.microsoft.com/Expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6 mc:Ignorable="d" d:DesignWIDth="500" d:DesignHeight="500">
7 <GrID x:name="LayoutRoot" WIDth="500" Height="500">
8 <m:Map CredentialsProvIDer="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:name="map"
9 Center="33.845881352,105.165628188471" ZoomLevel="6.0">
10 <m:pushpin Location="33.845881352,105.165628188471" x:name="maypushpin"></m:pushpin>
11 <m:MapLayer x:name="myMapLayer"></m:MapLayer>
12 </m:Map>
13 <StackPanel HorizontalAlignment="left" VerticalAlignment="Bottom" WIDth="180" Height="200" Background="Gray">
14 <TextBlock Text="精度:"></TextBlock>
15 <TextBox x:name="tbLongitude"></TextBox>
16 <TextBlock Text="纬度:"></TextBlock>
17 <TextBox x:name="tblatitude"></TextBox>
18 <TextBlock Text=" "></TextBlock>
19 <TextBlock Text="精度:"></TextBlock>
20 <TextBox x:name="tbLongitude2"></TextBox>
21 <TextBlock Text="纬度:"></TextBlock>
22 <TextBox x:name="tblatitude2"></TextBox>
23 <button x:name="btnAddpushpin" Click="btnAddpushpin_Click" Content="添加五星红旗"></button>
24 </StackPanel>
25 </GrID>
26 </UserControl>
27 本篇暂介绍到这里,希望提到抛砖引玉的效果,更详细的内容大家可参考官方提供的开发Silverlight和Bing Maps的朋友前来讨论~~~ 总结
以上是内存溢出为你收集整理的【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)全部内容,希望文章能够帮你解决【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)