鸿蒙项目内嵌百度地图
·
1.进入百度地图开放平台
百度地图-百万开发者首选的地图服务商,提供专属的行业解决方案
点击上方网址进入百度地图开放地图之后注册或登录已有的账号,点击控制台

点击我的应用。创建一个应用

输入应用名称之后,应用类型选择浏览器端(用于内嵌html页面到鸿蒙项目中)

Referer白名单输入一个 * 即可(意思是所有域名都可以直接访问该应用)

创建应用成功之后,会获得一个项目的访问应用(AK),此处需要复制并记录下来,后面会用到
2.打开VS Code 把下列代码以html页面的格式保存下来
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>Document</title>
<style type="text/css">
html {
height: 100%
}
body {
height: 100%;
margin: 0px;
padding: 0px
}
#container {
height: 100%
}
</style>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=此处输入刚百度地图开放平台获取的Ak码">
</script>
</head>
<body>
<button onclick="setcenter()">click</button>
<div id="container"></div>
</body>
<script type="text/javascript">
var map = new BMapGL.Map("container");
var point = new BMapGL.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
function setcenter() {
var point = new BMapGL.Point(114.39888464825539, 30.508289282053656);
map.centerAndZoom(point, 15);
}
</script>
</html>
button按钮中的方法中的数字为现在所在的经纬度,可以根据自己的情况设置
检查完没有报错之后打开文件所在位置备用
3.打开Dev Eco Studio,新建一个项目

把刚才的html文件复制到rawfile文件夹中,路径为test2/entry/src/resources/rawfile
返回到需要使用地图的页面输入以下代码
import { webview } from '@kit.ArkWeb';
@Component
export struct Home {
private webController: WebviewController = new webview.WebviewController();
build() {
Column() {
Web({ src:$rawfile("01.html"), controller: this.webController,renderMode:RenderMode.ASYNC_RENDER }).javaScriptAccess(true)
.width('100%')
.height('100%')
.onPageEnd(e => {
console.log('页面加载完成');
})
}
.width('100%')
.height('100%')
}
}
4.地图功能在预览器中无法实现,需要打开虚拟机

在设备管理器中选择模拟器打开就可以看到百度地图的默认坐标(天安门广场)
点击click按钮后会定位到刚刚设置经纬度的所在地


更多推荐

所有评论(0)