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 ...
随机推荐
- HDU 3046Pleasant sheep and big big wolf(切最小网络流)
职务地址:HDU 3046 最小割第一发!事实上也没什么发不发的. ..最小割==最大流.. 入门题,可是第一次入手最小割连入门题都全然没思路... sad..对最小割的本质还是了解的不太清楚.. 这 ...
- 安卓SDK更新host文件地址
之前在安装jdk时,安装进度一直很缓慢,在更新这个(两个任选,都有效)host文件地址后,瞬间就可以了. 203.208.46.146 dl.google.com 203.208.46.146 dl- ...
- 伪教练技术培训之殇-2013年9月江西IDC拓行榜与综述
纠集几个人,然后培训所谓的教练技术培训. 培训的人一期又一期的参与,国学.佛学.超能量,无所不用其极,然后就是疯狂的拿人头,邀请朋友加盟. 有甚者还披上“科技”的外衣,用“水知道答案”这种早被公知指出 ...
- Android获取SIM卡信息--TelephonyManager
1>获得TelephonyManager TelephonyManager telMgr = (TelephonyManager) getSystemService(TELEPHONY_SER ...
- WPF点滴
1 设置窗体的最大化,而且无边框 <Style x:Key="WindowsStyle" TargetType="Window"> <Sett ...
- Source not found for StandardEngine(ContainerBase).initInternal() line: 1078
总是这样 在复制完一个项目,并重新起了个名字后. 再打开网页就怎么也打开不了. 第一反应是tomcat出问题了. 于是有了这样的问题: Source not found for StandardE ...
- 使用 angular directive 和 json 数据 D3 随着标签 donut chart演示样本
使用angular resource载入中priorityData.json中间json数据,结合D3绘制甜甜圈图.执行index.html其结果见于图.: priorityData.json中jso ...
- 设备Oracle当误差:环境不符合要求》》解决方法
一旦安装Oracle当我常常会遇到这样的问题.也没太在意,改了一下client\stage\cvu文件夹cvu_prereq.xml档(添加支持目前的操作系统信息)为了克服,我没有做笔记,但后来有同学 ...
- C# 引用类型与值类型的区别
//引用类型(使用了class) class SomeRef{public Int32 x;} //值类型(使用了struct) struct SomeVal{public Int32 x;} sta ...
- FS SIP呼叫的消息线程和状态机线程
THREAD 当收到一次呼叫的时候,FS会在TU层创建两个线程,一个线程为状态机线程,另外一个为消息线程.状态机线程通过switch_core_session_thread_launch创建,顾名思义 ...