Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask

原创 2012年03月25日 22:35:08

从今天开发始,我们又开始新的征程,接下来的课程我们要熟悉一下启动器和选择器,其实二者是一样的,没有根本的区别,启动器是有返回结果的,如打开搜索应用程序进行搜索,而选择器是有返回内容的,如选择一张照片。

 

那么,启动器和选择器是啥玩意儿呢?其实我们可以很简单去理解,说白了,就是使用系自带的组件或应用程序。对的,就是这样,我说过,有时候很多概念只是名字上吓人罢了,实际用起来是非常简单的,比如这个启动器和选择器就是了。

 

到底是不是很简单,实践一下就知道了,本系列教程叫“轻松入门”,既然称得上是轻松,痛苦的事情不会叫大家去做,而MS一向注重用户体验,不会让大家痛苦的。

先来总结一下,使用启动器和选择器的方法是一样的,都是以下几步,不过选择器因为有返回内容,因此会多一步。

一、实例化组件,就是new一个;

二、设置相关参数或属性,比如你要打电话,你总得要设置一个号码吧,不然你打个鸟啊;

三、显示应用组件,既然调用了系统程序,让用户操作,当然要Show出来;

四、(可选)处理返回数据,这是选择器才有。

 

今天先讲第一个组件,BingMapsDirectionsTask,就是启动Bing地图对行车路线进行定位搜索,是啊,像导航系统吧?

 

有两种方法来使用该启动器,一是通过开始和结束标签,就是从哪里到哪里,如从武汉到上海,那么开始标签为Wuhan,结束标签为Shanghai;另一种方法是通开始和结束位置,如经度,纬度等。

 

首先,我们演示一下简单的,用标签来导航。

 

界面很简单了,相信通过前面的学习,大家都知道怎么弄了,只要能输入开始和结束标签即。

下面是后台C#代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace LauncherSample
{
    public partial class MapByLabel : PhoneApplicationPage
    {
        public MapByLabel()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            BingMapsDirectionsTask map = new BingMapsDirectionsTask();
            map.Start = new LabeledMapLocation { Label = txtLabelStart.Text };
            map.End = new LabeledMapLocation { Label = txtLabelEnd.Text };
            map.Show();
        }
    }
}


 

记得引入Microsoft.Phone.Tasks空间,所有的启动器和选择器都在里面。

 

 

 

好接下来,我们用能过经度和纬度来定位的方法。

 

首先要添加一个引用,在项目中右击“引用”,添加引用,然后选择System.Device,确定。

 

接着做好界面,同上需要开始的经度纬度,以及结束位置的经纬度。

 

 

然后就是代码。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
// 引入以下命名空间
using Microsoft.Phone.Tasks;
using System.Device.Location;

namespace LauncherSample
{
    public partial class BingMapSample : PhoneApplicationPage
    {
        public BingMapSample()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            BingMapsDirectionsTask bt = new BingMapsDirectionsTask();
            // 开始位置
            LabeledMapLocation locStart = new LabeledMapLocation();
            locStart.Location = new GeoCoordinate(Convert.ToDouble(txtLatitudeStart.Text), Convert.ToDouble(txtLongitudeStart.Text));
            // 结束位置
            LabeledMapLocation locEnd = new LabeledMapLocation();
            locEnd.Location = new GeoCoordinate(Convert.ToDouble(txtLatitudeEnd.Text), Convert.ToDouble(txtLongitudeEnd.Text));
            // 设置属性
            bt.Start = locStart;
            bt.End = locEnd;
            // 显示启动器
            bt.Show();
        }
    }
}


Windows 8.1 下 Windows Phone 开发环境的搭建流程

转载:Windows 8.1 下 Windows Phone 开发环境的搭建流程 Windows 8.1 下 Windows Phone 开发环境的搭建流程...
  • LH806732
  • LH806732
  • 2014年04月14日 19:24
  • 3760

Windows Phone 7编程学习——12种启动器和4种选择器

一 启动器 有些启动器,它们无法在模拟器上工作。 快速浏览一下启动器: EmailComposeTask –允许用户通过邮件账户发送电子邮件。 MarketplaceDetailTask ...
  • lc547913923
  • lc547913923
  • 2014年05月25日 15:56
  • 610

Android启动器(Launcher)开发详解

第1章  Launcher的诞生 1.1 Framework启动Launcher流程        1.2 Launcher自身启动流程 App-Launcher-数据加...
  • qianguming
  • qianguming
  • 2015年01月15日 09:01
  • 3159

设置Windows phone 手机真机调试

最近要做Widows phone开发,用的最新的8.1的API,所以手机由8.0升级到了8.1,从网上查了下教程,做个记录! 1.首先,我们点击手机自带的应用商店 -->搜索软件“升级到WP8...
  • u010004082
  • u010004082
  • 2015年02月17日 21:52
  • 968

Android启动器(Launcher)架构详解

第1章  Launcher的诞生 1.1 Framework启动Launcher流程        1.2 Launcher自身启动流程 App-Launcher-数据加载和UI绑定 ...
  • nexttake
  • nexttake
  • 2013年06月06日 23:54
  • 4450

wp-启动器与选择器

设置页: ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask(); connectionSett...
  • dance_version
  • dance_version
  • 2013年09月21日 20:30
  • 428

Android启动器(Launcher)开发详解

Android启动器(Launcher)开发详解 2013-06-07 11:48:15     我来说两句       作者:nexttake 收藏    我要投稿 第1章...
  • a7178077
  • a7178077
  • 2014年05月01日 22:38
  • 493

Windows Phone 开发小技巧

1、设置应用程序的图标 右击Wp7应用程序的解决方案,选择属性,设置Icon为自己想要的图片,如下图 并且要确保图片的build方式为Content,如下图所示: 2、 Windows ...
  • sylwlw
  • sylwlw
  • 2013年06月07日 21:11
  • 634

Windows Phone8模拟器设置

一、Windows Phone8 sdk 下载链接 http://dev.windowsphone.com/zh-cn/downloadsdk 系统要求 •操作系统类型:  Windo...
  • cometwo
  • cometwo
  • 2013年04月19日 23:15
  • 1396

Windows phone 多分辨率适配问题

Windows phone 多分辨率适配问题 2012/11/8 10:48:32 | 阅读28次       因为之前的 windows phone 应用是基于 7.1...
  • qxue2000
  • qxue2000
  • 2013年01月17日 23:56
  • 498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask
举报原因:
原因补充:

(最多只允许输入30个字)