一、问题
QGC的地图在国内某些地方,只用bing可用,其他都不能使用。而且bing卫星图也没有道路和标签信息,还死慢死慢的。据说bing其实就没有国内的卫星地图版权,在网页上查查看bing地图,时没有卫星图的,只有切换到en-US上才有卫星图。
二、解决
国内的地图百度、高德、腾讯、搜狗、天地图,有标签、速度快,看上去不错,但只是看上去。两个问题(其实是3个):地图更新太慢、最大到18级就没有了效果不好。
谷歌地图本来在QGC上就有,奈何QGC上集成的是www.google.com/maps所以上不了,但是谷歌在国内是有地图服务许可的,卫星图效果非常好,可以支持到24级(再大没有试),远大于QGC默认编译的20级,速度也非常快。对比了一下Google地图至少在我上班这个地方卫星图是最新的。
三、步骤
1. 找瓦片(title/切片)
现在谷歌地图国内好像也没有服务了,仅供参考
菜单选卫星图像
浏览器 F12 看网络
之前的URL都失效了,这里特别感谢CSDN上CX0660同学,提供了URL
找到卫星切片地址(西安钟楼)
http://mt2.google.cn/vt/lyrs=s@847&gl=cn&x=52601&y=26122&z=16
西安钟楼
解释下参数
x/y:web墨卡托横纵坐标
z 就是地图的层级 zoom
lyrs 可以去以下几个值,lyrs=s@847写成lyrs=s一样ok
m:路线图
t:地形图
p:带标签的地形图
s:卫星图
y:带标签的卫星图
h:标签层(路名、地名等)
找到无偏移瓦片URL
把参数lyrs替换一下发现都能用(xyz,就不要手动改了,不知道切片规则的话就是404)
坑点:国内地图都是带偏移的,谷歌为了拿到地图服务许可,也必须入乡随俗,本来当个地图看没问题,但真要用到飞行上就偏得太远,你用这个瓦片地址到QGC上定位就知道了。而且这种“火星坐标”最大得问题是每个地方偏移量还不一样,需要专门做数据库,还要改大量代码,不值当。那么google.cn有没有无偏移得地图呢?还真有,上面url去掉gl=cn这个参数就ok,手贱试出来的,注意只对卫星图有效,也就是lyrs=s有效,另外lyrs=y在卫星图上无偏移,标签道路上有偏移,这个也算比较理想的地图了吧,你可以自己改参数试试。
能用的url
卫星无偏移:http://mt2.google.cn/vt/lyrs=s&x=52601&y=26122&z=16
卫星混合,标签偏移:http://mt2.google.cn/vt/lyrs=y&x=52601&y=26122&z=16
卫星混合偏移:http://mt2.google.cn/vt/lyrs=y&gl=cn&x=52601&y=26122&z=16
地形带标签(反正大于15层也不显示等高线了,偏移看不出来):http://mt2.google.cn/vt/lyrs=p&gl=cn&x=6051&y=2997&z=13
街道偏移(当个地图也可以):http://mt2.google.cn/vt/lyrs=m&gl=cn&x=52601&y=26122&z=16
其他地图瓦片
ArcGis(esri)已经继承到QGC中,因为没有Token,所以不显示,但是下面两个瓦片不需要token,支持到19级,需要把判断esri token的地方注释掉
ArcGis街道 http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile//16/26122/52601
ArcGis卫星 http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/16/26122/52601
2. 更新20200412,基于4.0.5修改源码
QGC 4.0 以后修改就方便很多了
2.1 首先当然是下源码
#下载
git clone https://github.com/mavlink/qgroundcontrol.