对于地图功能的开发,有以下三种思路
使用鸿蒙官方的Map Kit进行开发
使用第三方地图的SDK(例如高德地图、百度地图)
做一个基于h5的地图页面,通过Web组件去引入
对于这三种方案,每一种都有自己的特点
原生的Map Kit,目前来看文档是最全面的也是最清晰的,但问题在于,这种方案的流程最为复杂,是必须要去弄证书,证书还要添加设备的UDID,必须真机调试
第三方的SDK好处在于不需要弄证书(能否模拟器还没测试过),但是问题在于,文档不全,示例代码有问题,如果一定要用三方的SDK的,目前推荐使用高德地图,百度的直接代码就会有报错
Web组件这里涉及到的就是ArkWeb(方舟web),好处在于基本功能实现起来比较简单,缺点主要包括:(1)需要有自己的域名、服务器;(2)如果页面里不仅仅是地图的展示,而是和App有其他交互的,实现起来较为复杂;(3)性能上肯定没有前两种好
对于大部分的毕业设计项目或者说学生项目来说,建议使用官方的Map Kit进行开发
准备工作的步骤如下:
创建一个项目,api12以上
关于权限问题,在module.json5中加入以下权限
"name": "ohos.permission.INTERNET"
虽然在官方文档中,并没有要求添加权限,但是在“Map Kit常见问题”--- “地图不显示”中,明确了地图是需要网络的,所以要至少要加入网络的权限,完整代码如下:
"requestPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "$string:media_internet_permission",
"usedScene": {
"abilities": [
"MainAbility"
],
"when": "inuse"
}
}
],