第一步:利用之前实现的在线地图,将API改成1.0的,然后跑起来,百度地图API1.0是不需要key的:
<!--引用百度地图API-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.0"></script>
打开QWebView的调试窗口:
然后将Resources里边的非瓦片图资源和JS保存下来,然后将从api.js中加载的bmap.css也下载下来,格式化一下:
bmap.css中将原来从百度服务器下载的图片等资源修改为刚刚保存下来的图片:
getscript.js中主要做了几个修改:
1.将原来要从服务器下载的资源改成本地的
2.修改zoomLevelMin为3,因为1-2级不需要
3.去掉了百度的copyright标志
4.重点:修改瓦片位置加载函数getTilesUrl,将它修改为本地加载
5.如果还缺图的话就看看QWebView控制台的错误信息,再去下载
6.把地图下载器下载的瓦片图放到指定的位置即可
这时候离线工作基本完成了,如果有错就看看控制台改改。。。
代码:https://github.com/yangyang0312/QtTestCode/tree/master/BaiduOfflineMap
QT百度离线地图(一):https://blog.csdn.net/yangyang031213/article/details/84401078
百度地图API1.0离线化(三):https://blog.csdn.net/yangyang031213/article/details/84401251