#include #include #include #include #include #include #include int main(int argc, char *argv[]) { Q_UNUSED(argc); Q_UNUSED(argv); osgViewer::Viewer viewer; viewer.setUpViewInWindow(0, 100, 800, 600); viewer.setReleaseContextAtEndOfFrameHint(false); // 添加操作器 viewer.setCameraManipulator(new osgEarth::Util::EarthManipulator()); /// 在旧版本的osgEarth中需通过options来指定使用的哪种ImageLayer // 创建GDAL图层 osgEarth::Drivers::GDALOptions options; options.url() = osgEarth::URI("D:/Code/freespace/JGisEngine/data/image_3d_globel.tif"); osg::ref_ptr imagelayer = new osgEarth::ImageLayer( osgEarth::ImageLayerOptions("gdal", options)); // 创建MB图层 osgEarth::Drivers::MBTilesTileSourceOptions mbOpt; mbOpt.filename() = "D:/Share/Map/MBTiles/satellite-google-gcj02-zxy-all-9-sc-15-cd-18-3h-21.mbtiles"; mbOpt.format() = "png"; mbOpt.computeLevels() = false; mbOpt.maxDataLevel() = 21; mbOpt.minValidValue() = 4; osg::ref_ptr MBImagelayer = new osgEarth::ImageLayer( osgEarth::ImageLayerOptions("mb", mbOpt)); // string mbtilesFilename = "D:/codes/osgEarth-Projects/osgearth3.4/data/world_countries.mbtiles"; // osg::ref_ptr mbtLayer = new MBTilesImageLayer(); // mbtLayer->setURL(osgEarth::URI(mbtilesFilename)); // osgEarth::GeoExtent mbtExtent = mbtLayer->getExtent(); // 添加图层到Map osg::ref_ptr map = new osgEarth::Map(); // map->addImageLayer(imagelayer); map->addImageLayer(MBImagelayer); // 添加Map到Node osg::ref_ptr mapNode = new osgEarth::MapNode(map); // 添加到场景 viewer.setSceneData(mapNode); viewer.realize(); return viewer.run(); }