本文是“Windows Phone 7 开发 31 日谈”系列的第20日。

    昨天的长文是关于如何使用推送通知向你的手机发送数据的,即便程序没有运行。今天,我们重新回到控件,更具体的说,是地图控件。现在地理定位服务在移动应用程序中越来越流行,它的这种能告知用户身处何地以及身边有何物的能力变得越来越重要。

使用地图控件

作为Visual Studio 2010工具箱的一部分,你只需要将一个地图控件拖到页面中即可。这样做时,你会注意到在页面中添加了另一个XML名称空间。

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

这是在我的例子中默认添加的XAML(在我调整好位置和尺寸后):

<map:Map Height="607" HorizontalAlignment="Left" Name="myMap" VerticalAlignment="Top" Width="456" />

最后,来一张程序中地图的截图:

Windows Phone 7 开发 31 日谈——第20日:地图控件

你会注意到在上图中央的白色文字写着“无效的证书。注册一个开发人员账户”。本文的剩余部分,我会说一下我们能对这个地图控件进行的所有不同的操作,包括获得一个有效地开发人员API密钥。

创建你的开发人员账户

    在构建你的地图程序之前首先要做的就是获得一个Bing Map API密钥。这很简单,并且是免费的,且可以将上面那行丑陋的白字去掉。要得到它,需要前往Bing地图站点并注册。完成后,你需要创建一个API密钥。窗体看起来是这样的:

Windows Phone 7 开发 31 日谈——第20日:地图控件

当你填好后,他们会给你一个看起来像这样的API密钥:

AsWlUnHEvLgHlLHaRqTZLslewv1QIdGppxOqyL-7He2jxyHvLAjutrcntemUih-w9

(这不是我的API密钥。我替换了很多字符。但它看起来应该像你见到的这样。)

使用Credentials Provider属性

既然你已经有一个API密钥了,我们需要将它插入到我们的程序中。如果你的程序中只有一个地图控件,向下面这样使用就非常好:

<map:Map CredentialsProvider="AsWlUnHEvLgHlLHaRqTZLslewv1QIdGppxOqyL-7He2jxyHvLAjutrcntemUih-w9"> 

    如果你想重用这个值,应该将它保存到别的地方,比如App.xaml文件。像下面这个例子。我提供了你会在App.xaml文件和实际的地图控件中都能用到的代码。我们在App.xaml文件中创建了一个静态的CredentialsProvider,并在我们的页面中访问它。

App.xaml

<Application.Resources>
    
<map:ApplicationIdCredentialsProvider ApplicationId="AsWlUnHEvLgHlLHaRqTZLslewv1QIdGppxOqyL-7He2jxyHvLAjutrcntemUih-w9" x:Key="BingMapsAPIKey"></map:ApplicationIdCredentialsProvider>
</Application.Resources>

相关文章:

  • 2021-07-25
  • 2021-06-01
  • 2021-12-01
  • 2021-06-04
  • 2021-06-14
猜你喜欢
  • 2021-11-07
  • 2021-09-17
  • 2021-08-06
  • 2021-05-28
相关资源
相似解决方案