WP8关于对地图开发的改进
微软在2012年6月21日 发布了 Windows Phone 8的更新。带来大量的功能更新和全新的SDK。作为重头戏的部分是引入了 C++ 和 DirectX,支持native code。 这样使得众多C++ 和DirectX 现有代码库可以直接移植到Windows Phone 8 上。
强大的DirectX
我们在新版“高德地图 Windows Phone 8 SDK”使用了DirectX。DirectX给我们地图SDK带来了巨大的改进。对比之前的 Windows Phone 7 栅格版地图,带来了以下改进:
1. 更方便:DirectX 可以使用托管的方式和XAML交互,使得地图可以以一个控件的形式出现。这样便于第三方开发者使用。
2. 更流畅:由于WP8(Windows Phone 8,以下统称)的硬件规格的升级,使用DirectX 可以提供更高的绘制帧数。从而使得地图在运行的过程中显得更加流畅。能给用户提供更加优秀的体验。
3. 更灵活:DirectX 是3D的引擎,因此可以为提供之前栅格地图不能提供的3D效果。实现地图3D话。同时支持旋转角度,更改仰角,让地图“活”起来。如下图

图1. Windows Phone 8 高德地图SDK
4. 更真实:在一定zoom(地图的层级)级别以下,便会出现楼块信息。真实体现了现实情况。如下图

图2. 高德地图Windows Phone 8 版本
易于使用的多线程
与此同时,微软给C++带来了task。task 是用于异步操作的一个类。在地图中我们使用的最多的场景便是异步读取hlsl文件,来完成DirectX 的绘制准备工作。由于读取文件下载等耗时的操作都通过异步来完成,则可以不用让主线程等待其完成,从而达到加快进入地图页面的效果。

图3. 简单的单线程演示

图4. 简单的多线程演示
同内核带来的高代码复用率
微软在带来C++的同时也更新了 Windows Phone 8的内核。使得Windows 8和Windows Phone 8 都为NT内核。这也为代码的复用提供了便利。例如高德地图的街景引擎(如下图)

图5 Windows Phone 8 高德地图 街景

图6. Windows 8高德地图 街景
在街景的开发过程中Windows 8平台上复用了Windows Phone 8的巨大部分代码。稍加修改对C#层的接口便可正常运行。(ps. 在未来的 WP8.1后,Windows Phone 8.1 可以复用几乎所有的 Windows 8.1 的代码)。
简单,便捷的代码复用,为后续的地图移植工作提供很大的帮助。
其他功能
在Windows Phone 8中,微软加入了 SD卡的支持,这方便了我们把地图的离线地图存在SD卡中。不仅方便用户管理(可自行操作SD卡删除地图),还能节省手机本身的存储空间。目前只有Nokia地图的离线数据可以存储在SD卡上。
语音输入作为信息录入的辅助功能,能够为部分使用场景(例如行车导航中语音搜索)提供强大的帮助。在Windows Phone 8中,微软为中文提供了语音识别的功能,增强了中文环境下的地图体验。
据泄露的WP8.1 SDK,新增了地理围栏(Geofence)API,这一API在Win8上已经有了,扩大了基于位置服务应用场景,对LBS类应用有非常大的帮助。
Windows Phone 8.1的发布将更有利于我们地图的开发。
高德地图API for Windows Phone SDK :http://api.amap.com/wp8/index
WP8关于对地图开发的改进的更多相关文章
- WP8中的地图和导航
原文 WP8中的地图和导航 代码示例 源文件: Media:MapSample.zip 测试基于 SDK: Windows Phone SDK 8.0 兼容于 平台: Windows Phone 8 ...
- iOS原生地图开发指南续——大头针与自定义标注
iOS原生地图开发指南续——大头针与自定义标注 出自:http://www.sxt.cn/info-6042-u-7372.html 在上一篇博客中http://my.oschina.net/u/23 ...
- iOS原生地图开发详解
在上一篇博客中:http://my.oschina.net/u/2340880/blog/414760.对iOS中的定位服务进行了详细的介绍与参数说明,在开发中,地位服务往往与地图框架结合使用,这篇博 ...
- iOS原生地图开发进阶——使用导航和附近兴趣点检索
iOS原生地图开发进阶——使用导航和附近兴趣点检索 iOS中的mapKit框架对国际化的支持非常出色.在前些篇博客中,对这个地图框架的基础用法和标注与覆盖物的添加进行了详细的介绍,这篇博客将介绍两个更 ...
- 在WP8上搭建cocos2d-x开发环境
在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...
- android百度地图开发之自动定位所在位置与固定位置进行驾车,步行,公交路线搜索
最近跟着百度地图API学地图开发,先是学了路径搜索,对于已知坐标的两点进行驾车.公交.步行三种路径的搜索(公交路径运行没效果,待学习中),后来又 学了定位功能,能够获取到自己所在位置的经纬度,但当将两 ...
- Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
标签: Android百度地图API Key 分类: Android 百度地图开发(2) 最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地 ...
- Android 百度地图开发之一(Hello BaiDu Map)
之前也接触过百度地图的开发,但那是在网上找的案例或代码,而且是比较老的版本.打算重新学习一下百度地图的开发. 本次使用的百度地图的版本是 Android SDK v3.0.0 本篇文章主要讲述百度地图 ...
- GeoServer地图开发解决方案
转自:http://www.cnblogs.com/beniao/archive/2011/01/08/1930822.html GeoServer 是 OpenGIS Web 服务器规范的 J2EE ...
随机推荐
- 强势围观,CSDN代码引用bug
看我写的一篇blog http://blog.csdn.net/laijieyao/article/details/41014355,在代码上引用了微软雅黑的字体,结果代码显示出来把我给惊呆了 竟然 ...
- 用Javascript评估用户输入密码的强度(Knockout版)
原文:用Javascript评估用户输入密码的强度(Knockout版) 早上看到博友6点多发的一篇关于密码强度的文章(连接),甚是感动(周末大早上还来发文). 我们来看看如果使用Knockout更简 ...
- android旋转动画和平移动画具体解释,补充说一下假设制作gif动画放到csdn博客上
先上效果图: 我这里用的是GifCam来制作的gif动画,能够在http://download.csdn.net/detail/baidu_nod/7628461下载, 制作过程是先起一个模拟器,然后 ...
- ZooKeeper集群安装
ZooKeeper是Apache提供的.分布式服务协调系统,应用比較广泛. 由于项目中使用Kafka MQ,而Kafka全然使用ZooKeeper实现Kafka各组件的服务协调,包含Broker.Co ...
- 主流芯片解决方案Ambarella的高清网络摄像机、德州仪器和控制海思
(本文由四川艾普作为数码科技有限公司 苏斌.范清华 收集) 高清网络视频监控发展到今天.正的高清时代.诸多有实力的高清摄像机厂家的产品线也逐渐完好起来,高清网络视频监控的配套产品有更加丰富和成熟.与此 ...
- hdu 5073 Galaxy(2014acm鞍山亚洲分部 C)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5073 Galaxy Time Limit: 2000/1000 MS (Java/Others) ...
- hadoop版本号变迁
近期在研究hadoop时,发现hadoop的版本号非常混乱.原来的版本号都说0.X.X開始,后来发现有1.X.X和2.X.X 这样就不太清楚了. 0.20.2版本号曾经(不含该版本号)的配置文件都在d ...
- Red Gate系列之六 SQL Test 1.0.12.3 Edition SQL测试工具 完全破解+使用教程
原文:Red Gate系列之六 SQL Test 1.0.12.3 Edition SQL测试工具 完全破解+使用教程 Red Gate系列之六 SQL Test 1.0.12.3 Edition S ...
- log(n)在第一时间,以确定该阵列i小号码
简介参考算法9.2 int partition(int *a,int p,int r){ int x=a[r]; int i=p-1; for(int j=p;j<=r-1;j++){ if(a ...
- 调用API 清屏
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...