`

【三】Bing Maps Silverlight 控件 之 标注地图

阅读更多
图钉标签

如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了?Bing Maps地图控件直接提供了图钉层,通过内嵌的方式既可加入图钉层,默认使用Bing Maps提供的图形标记:
        <m:Map ZoomLevel="14"  Name="myMap" Center="39.9,116.4" CredentialsProvider="Your Bing Map Key">
            <m:Map.Mode>
                <m:AerialMode Labels="True" FadingLabels="True"/>
            </m:Map.Mode>
            <m:Pushpin Location="39.9,116.4"></m:Pushpin>
        </m:Map>




通过编程的方式,也可以得到类似的结果,我们可以为地图层增加一个鼠标单击响应事件:每次点击都会在地图上打上一个图钉:
        private void OnMouseClick(object sender, MapMouseEventArgs e)
        {
          Pushpin pushpin = new Pushpin(); //初始化一个图钉
            pushpin.Location = myMap.ViewportPointToLocation(e.ViewportPoint); //设置图钉的位置
            myMap.Children.Add(pushpin); 
        }


说明一下:ViewportPointToLocation()方法,即将屏幕像素转换成带经纬度的位置。关于ViewportPointToLocation()方法的定义及用法参见MSDN

除了添加图钉外,我们还可以自定义添加图形、图片、视频等在地图上,要实现添加图形、图片或视频等数据到地图上,需要使用Bing Maps为我们提供的地图图层(MapLayer)来实现:

        <m:Map ZoomLevel="14"  Name="myMap" Center="39.9,116.4" CredentialsProvider="Your Bing Map Key">
            <m:Map.Mode>
                <m:AerialMode Labels="True" FadingLabels="True"/>
            </m:Map.Mode>
           <m:MapLayer x:Name="myMapLayer"></m:MapLayer>
        </m:Map>


如上在地图中加入了一空白地图图层,接下来就可以使用程序动态在地图图层上添加自己想加的东西了:

比如添加名胜风景的图片
Location location = new Location(latitude, longitude);
Image image = new Image();
image.Source = new BitmapImage(new Uri("http://localhost:2986/Images/China.jpg", UriKind.RelativeOrAbsolute));
image.Stretch = Stretch.None;
image.ImageFailed += delegate(object senders, ExceptionRoutedEventArgs ex){};
PositionOrigin position = new PositionOrigin(1.0, 1.0);
this.myMapLayer.AddChild(image, location, position);


比如绘制线条或者多边形

    MapPolygon polygon = new MapPolygon();
    polygon.Fill = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red);
    polygon.StrokeThickness = 5;
    polygon.Opacity = 0.7;
    polygon.Locations = new LocationCollection() { 
                        new Location(34.9294740237661,107.506492025863), 
                        new Location(37.7814222409819, 105.979148275863), 
                        new Location(40.2865067209496, 109.219382650863) };
    this.myMapLayer.Children.Add(polygon);


比如添加视频
MediaElement video = new MediaElement();
    //Define the URI location of the video
    video.Source = new Uri(@"http://mschnlnine.vo.llnwd.net/d1/ch9/9/2/9/9/1/4/TCS2NBCOlympics_ch9.wmv",
            UriKind.RelativeOrAbsolute);
    //Define the video display properties
    video.Opacity = 0.8;
    video.Width = 250;
    video.Height = 200;

    //The map location to place the video at
    Location location = new Location() { Latitude=-45, Longitude=122 };
    //Center the video around the location specified
    PositionOrigin position = PositionOrigin.Center;

    //Add the video to the defined map layer
    this.myMapLayer.AddChild(video, location, position);
  • 大小: 588.6 KB
分享到:
评论

相关推荐

    使用 Bing Maps

    - Bing Maps Silverlight 控件是专门为Windows Phone设计的,它允许开发者将地图功能无缝集成到应用程序中。 - 控件提供了基本的地图显示,包括缩放、平移和旋转操作,以及对地图样式、图层和图标的自定义。 - ...

    必应地图Silverlight控件

    1. Microsoft.Maps.MapControl.Common.dll:这个库包含了必应地图Silverlight控件的公共类和接口,提供地图的基本功能和数据结构。例如,它可能包括地图的坐标系统、图层管理、地理编码(将地址转换为经纬度坐标)和...

    bingmaps 开发实际例子

    银光(Silverlight)操作Bing Maps的核心在于Bing Maps Silverlight控件,这个控件允许开发者添加地图层、标记、路线、图层管理等功能。要开始使用,你需要在项目中引用Microsoft.Maps.MapControl库,并在XAML中添加...

    Bing Maps开发手册中文电子版(B3)

    - **Silverlight 控件**:专门针对全球地图设计了一个名为Bing Maps Silverlight Control (BMSC) 的控件,该控件基于Silverlight 3构建,用于地图显示和交互。 #### 二、开发准备与基础知识 - **开发环境**:...

    Silverlight_Bing_Maps地图插件

    Silverlight_Bing_Maps地图插件安装-CSDN

    在wpf中使用bing地图控件

    在Windows Presentation Foundation (WPF) 中使用Bing地图控件是一项常见的任务,它允许开发者将交互式的地图集成到他们的应用程序中。Bing Maps控件提供了丰富的功能,包括地图浏览、定位、路线规划、图层叠加等,...

    Silverlight富媒体特效地图实例

    1. **Bing Maps API**:学习如何使用Bing Maps API,包括初始化地图控件、设置地图中心点和缩放级别、添加图层等。此外,还要了解如何获取地图的点击事件,以便在地图上实现交互式功能。 2. **Silverlight动画和...

    【Silverlight】Bing Maps系列文章

    【Silverlight】Bing Maps系列文章【Silverlight】Bing Maps系列文章【Silverlight】Bing Maps系列文章【Silverlight】Bing Maps系列文章【Silverlight】Bing Maps系列文章【Silverlight】Bing Maps系列文章

    Bing Maps SDK for Windows Store apps 扩展.zip

    必应地图现在有了针对Windows Store App的SDK,可以很方便的把Bing地图功能整合到自己的应用当中。最近参照官方说明文档操作了一下,果然比较好用,记录下经过以备日后使用。 Bing Maps SDK环境安装: 环境安装: ...

    使用Silverlight Bing Map 加载Google Map

    Silverlight是一种由Microsoft开发的客户端插件技术,用于在Web浏览器中提供丰富的交互式用户体验,而Bing Maps则是微软提供的一个强大的地图服务。将Google Maps集成到Silverlight Bing Maps中,可以让开发者利用两...

    Bing_Maps地图插件MapCruncher(Bing Maps & C# 实现)-CSDN

    Bing_Maps地图插件MapCruncher(Bing Maps & C# 实现)-CSDN

    用BingMap Control 加载 google 混合地图

    3. **初始化Bing Maps Control**:使用JavaScript初始化地图控件,设置中心点、缩放级别等参数。 4. **创建地图服务代理**:编写一个JavaScript函数,作为地图服务代理,它会根据地图坐标请求Google Maps的瓦片,并...

    bing maps control

    ### Bing Maps Control 知识点解析 #### 一、Bing Maps AJAX Control 7.0 简介 **Bing Maps AJAX Control** 是由微软提供的一个强大的地图开发工具包,它允许开发者轻松地将交互式地图集成到自己的网站或应用中。...

    【ios】BingMaps Demo

    本示例项目"【ios】BingMaps Demo"是一个演示如何在iOS应用中使用Bing Maps SDK的实例,特别适用于那些想要了解或集成Bing Maps功能的开发者。 首先,这个Demo包含了Bing Maps库的所有必要文件,这可能包括头文件、...

    Silverlight-bing map demo

    1. **地图控件集成**:在Silverlight应用中,通过引用Bing Maps SDK,可以添加地图控件到用户界面上,展示地图数据。这通常涉及到初始化地图,设置中心点、缩放级别,以及选择地图样式等。 2. **地图交互**:...

    [Mapping] 微软 地图开发 (Bing Maps & C# 实现) (英文版)

    [Apress] 微软 地图开发 (Bing Maps & C# 实现) (英文版) [Apress] Microsoft Mapping Geospatial Development with Bing Maps and C# (E-Book) ☆ 图书概要:☆ Geospatial mapping applications have become ...

    bing地图WP应用

    在Windows Phone平台上,Bing Maps API被封装在Microsoft.Phone.Maps控件中,使得开发者可以方便地在XAML界面中添加地图控件。 在"ChinaBMDemo"这个示例中,我们可以预见到它可能包含以下几个关键功能: 1. 地图...

    Ldh.Maps V1.1示例

    Ldh.Maps是一款基于Bing Maps控件的扩展组件,它的主要目的是为了提供更丰富的地图交互功能,以满足开发者和用户的多样化需求。在V1.1版本中,Ldh.Maps进一步提升了用户体验,增加了多项实用的鼠标工具,以及一个新...

Global site tag (gtag.js) - Google Analytics