原文:[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

]

|
订阅

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

  1. [Windows Phone] 地图控制项的经纬度

    原文:[Windows Phone] 地图控制项的经纬度 前言 本文主要示范如何使用地图经纬度以及显示地标和行人街道,并透过卷轴控制地图缩放比例的功能. ? 实作 step1 建立专案. ? step ...

  2. [Windows Phone] 导览控制项(Navigation controls)

    原文:[Windows Phone] 导览控制项(Navigation controls) [前言] 如果应用程式只有单一页面,在画面呈现上可能会让使用者容易没有新鲜感,这个范例是使用导览控制项(Na ...

  3. 零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II

    原文:零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II 本章将教大家如何制作自己的Button,并以玻璃质感Button为实作案例. ? ...

  4. 硬件工程师必须掌握的PCB叠层设计内容

    总的来说叠层设计主要要遵从两个规矩: 1. 每个走线层都必须有一个邻近的参考层(电源或地层); 2. 邻近的主电源层和地层要保持最小间距,以提供较大的耦合电容; 下面列出从两层板到八层板的叠层来进行示 ...

  5. CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页。

    CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/    此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...

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

    原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设 ...

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

    原文 Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍 前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iO ...

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

    原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布 ...

  9. Visual Studio跨平台开发(4):Xamarin Android控制项介绍

    前言 不同于iOS, Xamarin 在Visual Studio中针对Android, 可以直接设计使用者界面. 在本篇教学文章中, 笔者会针对Android的专案目录结构以及基本控制项进行介绍, ...

随机推荐

  1. html中的rowspan和colspan

    摘自w3school(http://www.w3school.com.cn/tags/att_td_colspan.asp)colspan 属性规定单元格可横跨的列数.<table border ...

  2. C语言char s[] 和 char *s的差别

    C语言char s[] 和 char *s的差别,以下这个回答解说的非常清晰. The difference here is that char *s = "Hello world" ...

  3. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar

    出现 The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the j ...

  4. Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)

    Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计) 本篇博客介绍Cocos2d-x的第一个实例--重力加速计測试.效果图(注:这里无法模拟重力感应): --[ ...

  5. [Backbone]Make Backbone Better With Extensions

    Backbone is becoming wildly popular as a web application development framework. Along with this popu ...

  6. dedecms 文章列表和频道列表同时调用

    演示效果:http://www.mypf110.com/qcd/ <div class="changshi_wrap"> {dede:channelartlist ro ...

  7. POj 1879 Tempus et mobilius Time and motion (模拟+群)

    题目特别长,大意为球的传递. 三个轨道,一个库.各自是分钟单位的轨道.5min单位的轨道.一小时单位的轨道.还有就是n容量的库. 每过一分钟,一个小球从库里面出来,库符合先进先出,进入分钟轨道.假设分 ...

  8. 散文说python半篇——景观三元论与盖茨比的对话

    今天, 天气晴朗,风和日丽: 我事实上在说谎-- 爱说谎事实上是我的天性 上个礼拜四我就用景观三元论说了非常多谎话.然后一头大象自己上吊了. 了不起的大象啊,盖茨比也要从坟墓里爬出来了吧, 陈年旧事, ...

  9. Vagrant - 百度百科

    http://wapbaike.baidu.com/view/9201587.htm?ssid=0&from=844b&uid=3151E6C0905477A13653132D762B ...

  10. 使用COM提供SafeArray数据

    在前一篇博文<读取SafeArray数据>我们介绍了C#读取安全数组.那么我们的COM怎么编写呢? 1. 定义SAFEARRAY变量 SAFEARRAY *pSArray = NULL; ...