写点什么

Windows Phone 8 的新地图服务的背景知识

2012 年 11 月 05 日

Windows Phone 8(WP8)的预期新特性之一是改善应用程序的多任务特性,提供完整的支持。Windows Phone 开发者平台的程序经理 Adina Trufinescu 在她的 WP8 地图和位置服务的改变的演讲里谈到这些改善。

WP8 开发者现在可以利用 Windows Phone 位置服务 API ,它包含两组 API。第一组基于 Windows 8 的 Windows Runtime API,并添加了和手机相关的特性。第二组是 Windows Phone Runtime API,它针对诸如语音和 VoIP 等和手机相关的特性。

在介绍这些 API 之后,Trufinescu 就开发需要用到位置 / 地图服务的应用程序给出一些通用的建议:

  • 在可能的时候创建一个单个位置的请求。
  • 利用缓存快速获取结果。
  • 在精确和超时之间找准平衡点。
  • WIFI 是否启用?如果不是,让用户启用它,因为在市区里它比 GPS 更加精确。

Windows Phone 8 Map 控件

新的 WP8 Map 控件提供以下特性:

  • 诺基亚地图数据:超过 100 个国家。
  • 离线地图:允许用户下载地图,开发者可以通过 MapDownloaderTask 提供下载和更新功能。
  • Map 控件:平滑的交互,无滞后的叠加,旋转,捏合。
  • 路线显示:通过地图服务轻易计算路线。

Map 控件并非单纯的.NET 控件,它是由.NET 和本机代码混合而成。本机代码用来处理“重活”。开发组在开发者体验和用户体验之间做了一个取舍,最终决定稍微偏向用户。因此,在 Visual Studio 里设计 WP8 的屏幕布局时,这个控件将会显示成一个占位图标。

程序经理 Mike O’Malley 也加入演讲,即场示范新的代码。他提醒道,新的控件需要使用和基于必应地图控件不同的开发者凭据,这意味着 WP8 开发者应该使用他们的 dev.windowsphone.com 凭据。Windows Phone 7.X 地图 API(必应地图控件 / 必应地图任务)仍然可用,并且应该在 7.X 的应用程序上使用,但在 WP8 的应用程序上就不要再用它了。

完整的多任务

WP7.5 引入多任务,但有所限制,没有为使用位置和 VOIP 特性的应用程序提供支持。这个问题在 WP8 里得到修正,但仍然存在一些限制:

  • 仅限 XAML 应用程序。
  • 跟踪单个位置的应用程序可以在后台运行。
  • 应用程序受限于资源访问。

为了确保用户体验的质量,后台应用程序的 CPU 占用率最多是 10%,并且不能访问摄像头和麦克风(出于安全 / 隐私的考虑)。

快速恢复

WP8 还引入快速恢复,它适用于任何采纳这个模型的 WP8 应用程序。修改应用程序的清单设置就能启用快速切换了。支持这个特性的应用程序会有以下操作行为:

  • 如果之前通过主要磁贴启动应用程序,那么主要磁贴将会恢复之前的应用程序实例。
  • 如果之前通过主要磁贴或不同的深度链接启动应用程序,那么深度链接将会启动新的应用程序实例。
  • 不要阻塞 OnBackKeyPress,这是用户关闭你的应用程序的途径。

查看英文原文: A Background on Windows Phone 8’s New Map Services

2012 年 11 月 05 日 06:26845

评论

发布
暂无评论
发现更多内容

【Howe 学 JAVA】Java 类集框架1——List集合

Howe

Java List 集合

MacOS使用指南之我并不需要系统菜单栏

lmymirror

macos 高效工作 完美主义 操作系统 新手指南

C语言if分支结构

C语言技术网-码农有道

C语言 C语言if分支结构

办公人员的 python 妙用——抽签结果提取

Sicolas Flamel

Python 远程办公

游戏夜读 | 游戏设计需要天赋?

game1night

自助设备系列——技术应用

孙苏勇

产品 行业资讯 智能设备

你觉得你是哪类人?

Janenesome

读书笔记 思考

Web3极客日报#137

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

【Howe 学 JAVA】Java 类集框架2——集合输出

Howe

Java 集合 输出 类集

Mac 自带软件-聚焦搜索

Winann

macos Mac spotlight

Web3极客日报#136

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

回"疫"录(13):不信谣,不传谣

小天同学

疫情 回忆录 现实纪录 纪实 谣言

放假了,你还会打开钉钉么?

无箭的丘比特

高效工作 团队管理 企业文化 个人成长 技术管理

面试官竟然一直和我聊线程的启动和终止

Simon郎

Java 大数据 后端 多线程

物联网资产整合架构

老任物联网杂谈

物联网架构

带你100% 地了解 Redis 6.0 的客户端缓存

程序员历小冰

redis 缓存 redis6.0.0

人生就是一场说走就走的旅行

kimmking

如何扩大我们的英语词汇量

七镜花园-董一凡

学习

保险知识梳理

魁拔

保险 生活质量

OceanBase原理与实现分析

ElvinYang

《Linux就该这么学》笔记(一)

编程随想曲

Linux

我跑步的时候会想些什么

养牛致富带头人

跑步 运动 锻炼

探寻融云多年领先的秘密:不断创新贴近开发者真实需求

DT极客

前端开发的瓶颈与未来之路

keelii

node.js typescript ruby-on-rails 编程 前端

【Howe 学 JAVA】Java 类集框架2——Set 集合

Howe

Java 集合 set

深入理解MDL元数据锁

Simon

MySQL

CentOS7使用Iptables做网络转发

wong

Centos 7 iptables

TL如何在团队中培养出更多前端技术专家

贵重

前端 团队建设 技术管理

Using R for everything: 方差分解(Variation partition)变量筛选与显著性标注

洗衣机用户不会用洗衣机

数据分析 R

你还在这样使用MYSQL吗?

无箭的丘比特

MySQL 数据库 数据库规范 数据库设计

高仿瑞幸小程序 06 layout布局

曾伟@喵先森

小程序 微信小程序 前端

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

Windows Phone 8的新地图服务的背景知识-InfoQ