silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了?Bing Maps控件已经为我们提供了这个功能,在Microsoft.Maps.MapControl名称空间下提供了实现图钉应用的图钉层Pushpin类,比如我们可以通过如下的方式来定位一个图订层在地图上的位置: 1 double longitude= double.Parse("47.620574"); 2 double lat

如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了?Bing Maps控件已经为我们提供了这个功能,在Microsoft.Maps.MapControl名称空间下提供了实现图钉应用的图钉层Pushpin类,比如我们可以通过如下的方式来定位一个图订层在地图上的位置:

1 double longitude= double.Parse("47.620574");
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提供的图形标记

<@H_958_35@m:Map CredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name="map"
2        Center="33.845881352,105.165628188471" ZoomLevel="6.0">
3     <@H_958_35@m:Pushpin LOCATIOn="33.845881352,105.165628188471"></@H_958_35@m:Pushpin>
4 </@H_958_35@m:Map>

不错,要在地图上加上一个图钉层就是这么简单,并直接定位于33.845881352,105.165628188471这个坐标之上,知道这个坐标是那里吗?他就在俺们“China”上,不行你可以看看下面的截图:

【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)

<@H_958_35@m:Map CredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name="map"
2        Center="33.845881352,105.165628188471" x:Name="mayPushpin"></@H_958_35@m:Pushpin>
4     <@H_958_35@m:MapLayer x:Name="mymapLayer"></@H_958_35@m:MapLayer>
5 </@H_958_35@m:Map>

如上在地图中加入了一空白地图图层,接下来就可以使用程序动态在地图图层上@L_673_11@自己想加的东西了,比如上面我们已经定位到了中国地图区域,接下来我们将中国国旗插上地图可以吗?答案是肯定的,如何做?

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对象作为一个显示的对象@L_673_11@到地图图层就OK了。效果如下:

【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)

OK,成功的在地图上插上了中国国旗!~~~~~Silverlight完整代码如下:

<UserControl x:Class="PushpinLayer.MainPage"
2     xmlns="http://scheR_223_11845@as.microsoft.com/winfx/2006/xaml/presentation"
3     xmlns:x="http://scheR_223_11845@as.microsoft.com/winfx/2006/xaml"
4     xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
5     xmlns:d="http://scheR_223_11845@as.microsoft.com/expression/blend/2008" xmlns:mc="http://scheR_223_11845@as.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         <@H_958_35@m:Map CredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name="map"
9                Center="33.845881352,105.165628188471" ZoomLevel="6.0">
10             <@H_958_35@m:Pushpin LOCATIOn="33.845881352,105.165628188471" x:Name="mayPushpin"></@H_958_35@m:Pushpin>
11             <@H_958_35@m:MapLayer x:Name="mymapLayer"></@H_958_35@m:MapLayer>
12         </@H_958_35@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="@L_673_11@五星红旗"></Button>
24         </StackPanel>
25   </Grid>
26 </UserControl> 本篇暂介绍到这里,希望提到抛砖引玉的效果,更详细的内容大家可参官方提供的开发Silverlight和Bing Maps的朋友前来讨论~~~

大佬总结

以上是大佬教程为你收集整理的【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)全部内容,希望文章能够帮你解决【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。