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.0ApplicationWindow{visible: trueWebView {id: webViewanchors.fill: parenturl: "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开发共享单车的详细框架和过程

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

  1. Android开发——百度地图定位

    Android开发--百度地图定位 项目需求 项目内容 注册和获取秘钥 获取项目SHA1码 获取项目AK码 AS依赖配置 AS源码 AndroidManifest文件 布局文件 DemoApplica ...

  2. 百度地图api定位的使用详解和返回错误码61的解决方案

    返回错误码61的解决方案我记不住了,我是看了官方demo改的,不过可以看下面的配置设置,应该可以解决,如果不能解决,可以评论或联系我 百度地图api定位的使用详解 1.获取密钥 官网 2.下载SDK, ...

  3. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...

  4. android 开发百度地图问题集锦

    由于是第一次尝试使用百度地图的sdk的进行一个简单的定位,而遇到的问题,并说说本人理解到的原因和解决方法: 1.问题:从百度的开发平台注册和创建我们自己的应用后,再将百度sdk下载下来,并且集成到我们 ...

  5. android开发百度地图步行导航

    准备工作: 在百度地图上下载依赖,配置key. 创建一个demo项目,可显示百度地图的 添加按钮,点击按钮,开始导航 发起算路我用的是routePlanWithRouteNode这个方法,官网中rou ...

  6. Android开发百度地图指南针消失问题

    发现最近接手的项目跟百度地图干上了,从2014年的V3.xx版本到现在的最新版,踩了不知道没踩过的多少坑.今天在维护一个2014年的老项目的时候,反馈有一条"指南针不显示,旋转后无法复位&q ...

  7. android百度定位代码,android开发:百度地图及定位的演示代码

    //百度地图定位的代码,需要加载百度地图API的SDK LocationClient client = new LocationClient(mContext); LocationClientOpti ...

  8. android开发百度地图定位到几内亚湾问题的解决

    android开发一直定位的几内亚湾,这个问题我大概停在这里3,4天,看网上的各种回答试了很多都不行,头疼.偶然看到一位大佬写的具体定位代码的写法,解决了这个问题.原博客https://blog.cs ...

  9. android 开发 百度地图,百度地图android开发(转)

    摘要:用户使用地图的时候,希望不联网就能展示地图.这时,就需要使用到离线地图了.如何在百度地图SDK里引入离线地图呢? ---------------------------------------- ...

最新文章

  1. 服务器端往手机端推送数据的问题(手机解决方案)
  2. 【IOS 开发】Object - C 数组使用详解
  3. 自定义Android时钟(支持秒针)
  4. Js 控件编写 继承:extend、mixin和plugin(一)
  5. IEDA中彻底删除项目
  6. 梯度下降法、最速下降法
  7. python cookies过期_Python3中关于cookie的创建与保存
  8. Neville 插值方法
  9. WPF MVVC 基础 - 父子窗体
  10. Kernel那些事儿之内存管理(5) --- 衣带渐宽终不悔(上)
  11. java 自定义表单 开源_开源的自定义表单设计器基础源码,PC端+移动端
  12. 微信小程序安卓和ios时间格式问题
  13. 华师本科网络英语 计算机统考,2020华中师大计算机考研经验帖(已上岸)
  14. 基于python的LSB加密算法设计
  15. JSX、JSX的介绍、JSX特点、JSX的语法、XML基本语法
  16. 【清华大学】操作系统 陈渝 Part4 ——物理内存管理 之 非连续内存分配
  17. 什么是有氧运动?什么是无氧运动?哪个减肥效果更好?
  18. Android光线传感器
  19. 鹤舞云天服务器稳定,《御剑红尘》手游新服“鹤舞云天”即将开启!
  20. 推荐 4 款超好用的内网穿透工具,总有一款适合你

热门文章

  1. 第四届vex机器人亚洲锦标赛_2019第十三届VEX亚洲机器人锦标赛在韩国开赛
  2. 查询CSS属性都支持那些浏览器
  3. 通过城市的名字来获取到省份的名字(java)
  4. 公司邮箱哪个安全?安全邮箱格式怎么填?公司邮箱号码大全
  5. 触心创业路 - 记一家VR游戏创业团队的经历
  6. 电子式预付费电能表对于安全校园建设的意义
  7. Java后台项目开发规范
  8. 【非参数统计】2.1广义符号检验(R语言)
  9. 基于Java+Swing+mysql图书管理系统
  10. windows环境下elasticsearch使用教程