离线瓦片地图浏览引擎开发纪要
离线瓦片地图引擎更多地应用在一些特殊领域,如军事装备中的指挥控制设备,抑或工作于深山老林和边远地区的导航设备.这些设备的一般特点是小巧轻便和电池供电,多采用ARM系统设计.
瓦片地图显示采用拼接图片方式.当确定显示中心经纬度值和显示层级后,即可推算出当前需要显示的图片编号.每层级的图片大小固定,如256x256点阵.这样就可以轻松推算出图片上各点所代表的经纬度值.当一幅地图画面要映射到显示器上时,则必须把地图各点与显示器各显示像素对应.首先要根据瓦片编号获取图片,如下:
m_ImageManager->getImage(mapAdapter->host(), mapAdapter->query(mapmiddle_tile_x, mapmiddle_tile_y, mapAdapter->currentZoom())) );
确定了所有应该显示的瓦片后,通过循环语句把一张张瓦片图画出来.如下句所示:
painter.drawPixmap(screenmiddle.x()-zoomImageScroll.x(), screenmiddle.y()-zoomImageScroll.y(),zoomImage);
附上几张地图显示.如需源代码可联系18903438440.也可到CSDN下载专区搜索“离线瓦片地图浏览引擎软件”自行下载。