[Windows Phone] 地图覆叠层控制项(MapOverlay )

原文:[Windows Phone] 地图覆叠层控制项(MapOverlay )

前言

当使用地图时,我们可能需要定位一些座标图示或是绘制一些文字线条,这时可以在地图上加上覆叠层进行绘制,在 Windows Phone 应用程式中是透过地图覆叠层控制项(MapOverlay )来达成,本文将以实例展示如何使用。

?

实作

step1 建立专案。

?

step2 在 WMAppManifest.xml 滑鼠左键按两下进行编辑。

?

step3 开启 WMAppManifest.xml 後,先切换至 [功能] 索引标签,再勾选 [ID_CAP_MAP] 来开启地图功能。

?

step4 画面设计。

?

map 控制项,Name 属性:map,Center 属性:24.167, 120.883(为台中市和平区经纬度),ZoomLevel 属性:10。

产生 xaml 的程式如下:

在 phone:PhoneApplicationPage.xaml 加入下方程式码引用 Microsoft.Phone.Maps,才能使用地图控制项。

 xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"

?

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

            <maps:Map x:Name="map" HorizontalAlignment="Left"  Center=" 24.167,120.883" ZoomLevel="10" Margin="0,10,0,0" VerticalAlignment="Top" Height="587" Width="446"/>

        </Grid>

?

step5 MainPage.xaml.cs 程式码中的事件处理函式如下:

?

       	public MainPage()
       	{
           InitializeComponent();

           // 新增两列的格子配置,背景为透明
           Grid MyGrid = new Grid();
           MyGrid.RowDefinitions.Add(new RowDefinition());
           MyGrid.RowDefinitions.Add(new RowDefinition());
           MyGrid .Background =new SolidColorBrush(Colors.Transparent);

           // 建立一个红色直径35的圆
           Ellipse Mycir = new Ellipse();
           Mycir.Fill = new SolidColorBrush(Colors.Red);
           Mycir.Height = 35;
           Mycir.Width = 35;
           Mycir.SetValue(Grid.RowProperty, 0);
           // 将圆放到格子中
           MyGrid.Children.Add(Mycir); 

           // 在格子第一列的地方,建立一个框为紫色、里面填满黄色的三角形
           Polygon Mytriang = new Polygon();
           Mytriang.Points.Add(new Point(2, 0));
           Mytriang.Points.Add(new Point(22, 0));
           Mytriang.Points.Add(new Point(2, 40));
           Mytriang.Stroke = new SolidColorBrush(Colors.Purple);
           Mytriang.Fill = new SolidColorBrush(Colors.Yellow);
           Mytriang.SetValue(Grid.RowProperty, 1);
           // 将三角形加入格子里
           MyGrid.Children.Add(Mytriang);

           // 建立覆叠层然後把格子配置放进来
           MapOverlay Myoverlay = new MapOverlay();
           Myoverlay.Content = MyGrid;

           //(24.15,120.43)为覆叠层座标
           Myoverlay.GeoCoordinate = new GeoCoordinate(24.167, 120.883);
           Myoverlay.PositionOrigin = new Point(0, 0.5);

           //新增一个地图层并将覆叠层放进来
           MapLayer Mylayer = new MapLayer();
           Mylayer.Add(Myoverlay);
           map.Layers.Add(Mylayer);
	}

?

结果

在地图中,透过地图覆叠层控制项,显示圆与三角形於定位的位置。

?

范例档

覆叠层.rar

?

相关参考与引用

MapOverlay Class

posted on 2013/11/27 12:12 |
阅读数 : 289
|

1 人推荐

我要推荐

|
Add Comment

| 文章分类 [

Windows Phone

]

|
订阅

时间: 2024-08-01 22:59:52

[Windows Phone] 地图覆叠层控制项(MapOverlay )的相关文章

Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍

原文 Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍 前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,, UISlider, UISwitch, UIImage以及UIWebView控制项. iOS的使用者介面描述档, 其副档名为.xib, 目前在Visual Studio尚未支援直接编辑. 因此在文章中, 我们会先用Xamarin S

Windows 8实例教程系列 - 布局控制

原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布局控件 在Windows Store应用设计中,布局控件是控制对象位置和尺寸的,由于Windows Store应用不仅仅面向桌面操作系统,而且还需要适应移动设备的部署,所以在设计时,往往需要考虑到不同的分辨率或者硬件屏幕尺寸标准下应用布局的适配性,最大程度的保持设计灵活性是应用设计原则重要环节之一.

Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍

原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设计用户接口.在本篇教学文章中,笔者会针对Android的项目目录结构以及基本控件进行介绍,包含TextView,EditView,Toggle/ Switch以及Seekbar控件. Android 项目目录结构 在Visual Studio建立Android 应用程序项目后,在方案总管中会看到如下

DataGridView 控制项的资料行中至少有一行没有储存格样板。

问题描述 C#源码如下//新建DataGridviewDataGridViewdgv=newDataGridView();BodyPanel.Controls.Add(dgv);dgv.Dock=System.Windows.Forms.DockStyle.Fill;dgv.ColumnHeadersVisible=false;//影藏表头dgv.AllowUserToOrderColumns=false;//不排序dgv.AllowUserToAddRows=false;//去掉默认添加列dg

Excel如何插入条码控制项

  Excel插入条码控制项的步骤 1.点击工具栏的"文件"→"选项" 2.在Excel选项里选择"自定义功能区"然后在常用命令里找到"开发工具"并将其勾选. 3.接着点击工具栏的"开发工具"然后选择"插入" 4.在其他控件里找到条码控制项,点击确认. 5.最后我们就可以在Excel表格里绘制条形码啦.

如何在Excel2010中插入条码控制项?

  1.点击工具栏的"文件"→"选项" 2.在Excel选项里选择"自定义功能区"然后在常用命令里找到"开发工具"并将其勾选. 3.接着点击工具栏的"开发工具"然后选择"插入" 4.在其他控件里找到条码控制项,点击确认. 5.最后我们就可以在Excel表格里绘制条形码啦.

html-div叠层问题,如何让一个div一直在最高层?

问题描述 div叠层问题,如何让一个div一直在最高层? 多个div,怎么设定某个div在其最高层,好像用z-index不太可行.要怎么办? 解决方案 首先设置position:absolute 然后再设置z-index

宽带隙太阳能电池材料及其叠层器件研究获进展

聚合物太阳能电池具有质量轻.柔性及低成本等独特的优势,近10多年来受到世界各国科学工作者的广泛关注.如何在拓宽材料分子吸收的同时,保持高开路电压是有机光伏领域一个重要研究内容.采用叠层器件结构将两个具有不同吸收范围的单结电池串联起来,可以同时实现宽吸收光谱与高开路电压,是提升有机太阳能电池效率的有效方法之一.目前宽带隙聚合物光伏材料的种类相对较少,这在一定程度上限制了叠层电池的子电池之间的光谱互补,进而限制效率的进一步提高. 在国家杰出青年基金项目.中国科学院战略性先导科技专项等资助下,中科院福

Windows Media Center 中的“家长控制”

如果您的计算机没有电视调谐器,则要在 Windows Media Center 中播放和录制电视节目需要可选的模拟或数字电视调谐器. http://www.aliyun.com/zixun/aggregation/18283.html">数字媒体的出现提供了对广泛内容的前所未有的访问,其中某些访问可能不适合每个观看者.家长可以通过配置 Windows Media Center 中的"家长控制"来指定和强制适合他们家庭成员的内容. 当启用"家长控制"时