qt for android开发百度地图(一步步带图详解)

qt for android开发百度地图

前言:qt for android开发百度地图,其实找了很多资料,基本上没有,就自己折磨弄了出来,这个过程还是很曲折的,折磨了一两个星期,没有资料,就两个字‘痛苦’,最后发现,还是挺简单的,自己走过的坑,写出来供后人借鉴吧

第一步:要进行百度地图开发者认证

第二步:接下来怎么在qt for android上打开这个html文件呢?

(一)先新建项目,选择Qt Quick Application-Empty,操作如下

(二)首先好配置qt for andorid的文件,在项目的android目录下新建一个assets的文件夹


前言:qt for android开发百度地图,其实找了很多资料,基本上没有,就自己折磨弄了出来,这个过程还是很曲折的,折磨了一两个星期,没有资料,就两个字‘痛苦’最后发现,还是挺简单的,自己走过的坑,写出来供后人借鉴吧

        qt for android 我用的是web开发,我尝试过Android SDK开发,不过失败了,官网给的开发例子是Android studio的,想用Qt for android套框架进去,还是有点难的,因为很多东西都没有,可能需要自己写了,我就放弃了

        采用web开发,不用配置那么多的东西,简单,但需要会一些js,html,css,想深度开发的需要去学习一下

        就说那么多,接下来开始正题

第一步:要进行百度地图开发者认证

进入官网百度地图开放平台 | 百度地图API SDK | 地图开发

        登陆之后,在个人中心申请开发者认证

 

        开发者认证成功后,创建应用,选择的是浏览器端(web)开发

 

 

最后提交即可看到创建的应用

 

接下来把应用的AK复制下来

编辑一个map.html文件,html内容如下

<!DOCTYPE html> 
<html>
	<head> 
		<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
		<title>Hello, World</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=你的密匙">
		</script>
	</head> 
	  
	<body> 
		<div id="container"></div>
		<script type="text/javascript">
			var map = new BMapGL.Map("container");
			// 创建地图实例 
			var point = new BMapGL.Point(116.404, 39.915);
			// 创建点坐标 
			map.centerAndZoom(point, 15);

			//map.setTrafficOn();  //开启路况图层
			// 初始化地图,设置中心点坐标和地图级别 
		</script> 
	</body> 
</html>

然后在你的密匙处粘贴刚刚复制的AK

 

然后用浏览器打开这个map.html文件

 

到此百度地图配置完成,想要完成更多好玩的东西,如下图所示,有开发文档和例子可供参考

 

第二步:接下来怎么在qt for android上打开这个html文件呢?

这里是最折磨我的,具体的折磨我就不写,我要忘记这个痛苦

我使用的是qml中的webview组件来打开百度地图的html文件,也就是使用网页进行开发显示

(一)先新建项目,选择Qt Quick Application-Empty,操作如下

        然后就会看到main.cpp文件,自动产生如下代码,大概意思就是,设置应用程序属性Qt :: AA_EnableHighDpiScaling 可以根据显示器的像素密度进行自动缩放。创建qml应用引擎,连接url,即qml文件,然后加载qml;

        然后创建安卓默认文件目录模板

(二)首先好配置qt for andorid的文件,在项目的android目录下新建一个assets的文件夹

 

        接下来把刚刚编辑的map.html文件放到这个文件夹中

        然后来到qt这里,android添加现有文件,如下图所示

        然后打开main.qml文件,把之前的内容全部删掉,复制如下内容到文件中,下面代码的含义是,创建一个webview的组件,然后用webview以浏览器形式打开map.html文件,如下所示

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtWebView 1.1
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.2
import QtQuick.Window 2.0

ApplicationWindow{
    
    visible: true
    WebView {
        id: webView
        anchors.fill: parent

        url: "file:///android_asset/map.html"
        onLoadingChanged: {
            if (loadRequest.errorString)
                console.error(loadRequest.errorString);
        }
    }
}

        上面代码中, 安卓手机获取文件主目录下的assets目录下获取的,而且命名要规范,否则会找不到文件,如 file:///android_asset/map.html

        android_asset就相当于我们刚刚建立的assets文件夹

        然后编译即可,发现在如下目录生成了.apk文件

        根据路径找到这个.apk文件,然后下载到手机安装即可

        安装后打开,如下所示,完成!!!

        觉得有用的,点个赞支持一下 ,想了解更多,欢迎关注我 ,我有一个模拟共享单车开发之路的专栏,讲解了百度地图API开发共享单车的详细框架和过程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值