【作业】百度地图的5个feature及uwp实现技术

从别的页面启动外部页面打开地图

  

  百度的很多应用都支持这个功能,比如贴吧、网盘。百度网盘可以通过一个链接,启动手机里的百度网盘app,并直接开始下载链接所指的文件。百度地图也支持在浏览器打开外部应用。

  uwp里的实现方式可以通过这里的app之间的数据共享:https://docs.microsoft.com/en-us/windows/uwp/app-to-app/receive-data

  首先将自己声明为一个share target,然后监听OnShareTargetActivated事件,接受数据即可。

  其他应用就可以向他发送数据,发送对应的坐标信息。https://docs.microsoft.com/en-us/windows/uwp/app-to-app/share-data


基础地图功能

  

  虽然uwp拥有map的功能和组件:

  https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-maps

  https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-poi

  不过百度肯定不需要用这些东西,还需要微软的appkey。有可能用到的估计就一个获取当前位置了:https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/get-location ,这个是一个API,取到手机的位置信息。

  实现基础地图功能,只需要能访问网络:https://docs.microsoft.com/en-us/windows/uwp/networking/networking-basics ,就能访问百度的服务器,请求地图数据,然后用https://docs.microsoft.com/en-us/windows/uwp/composition/composition-visual-tree 上面的Composition visual进行绘图,即可完成。


智能语音服务

  

  百度地图还有个功能,可以识别语音,然后执行相应的指令,并给出回答。比如,你可以说“去东北大学”,地图就会切换到导航模式,并用扬声器告诉你正在查询路线。

  这里说得简单点,就是个前端app的事情。用话筒采集语音,用上面提到的网络API访问服务器,再接收处理结果,并用扬声器报告:https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer

  说复杂点,语音识别功能可以用https://docs.microsoft.com/en-us/windows/uwp/design/input/speech-recognition 完成,然后用进一步机器学习方法识别成指令https://docs.microsoft.com/en-us/windows/uwp/machine-learning/overview 并执行相应函数。当然,包括语音识别的功能百度都有。


全景地图

 

  全局地图可以让你从道路向四周看,可以很方便地知道周围的情况。

  实现方式可以是用DirectX去构建一个模型,然后传输贴图。不过开启DirectX可能有点用牛刀杀鸡的感觉,因为模型很简单,使用OpenCV进行图片变幻模拟出立体感也许是个更好的办法。任何3D渲染其实都只是一个线性变幻,用OpenCV完全可以实现。https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/process-software-bitmaps-with-opencv


离线地图

  

  当没有网络时,可以使用离线地图进行浏览,当然这样的地图看不到路况信息。

  这可以使用SQLite来完成:https://docs.microsoft.com/en-us/windows/uwp/data-access/sqlite-databases

原文地址:https://www.cnblogs.com/lotsofone/p/8641099.html