网站大量收购独家精品文档,联系QQ:2885784924

osgEarth加载谷歌卫星地图的源码案例.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
osgEarth加载谷歌卫星地图的源码案例.doc

osgEarth加载谷歌卫星地图的源码案例 2014-12-24 11:51 242人阅读 评论(0) 收藏 举报 osgEarth谷歌卫星地图 一、准备工作 安装水经注万能地图下载器,如果没有安装本软件,可以百度“水经注软件”到官方网站下载。 编译OSG、OSGEarth和第三方插件等,这里有一个已经编译好的vs2010+osgearth,下载地址“/share/link?shareid=107009 uk=2801833827”。 二、下载地图 首先需要把谷歌卫星地图下载下来,这里以“郫县”为例。 启动水经注万能地图下载器,点击“框选下载区域”,双击下载区域,选择级数,如下图。 image001.jpg?(269.3 KB, 下载次数: 0) 下载附件??保存到相册 2014-12-23 16:01 上传 在级别列表中,你可以选择任何级别,但一般来讲城区选择19级,郊区选择16级比理想,但选择级别之前,最好在在线地图浏览中先查看所想要下载的级别是否有数据,这里我们以10级为例。选择好级别后,点击确定开始下载。 下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。? 在该对话框中,不需要作任何设置,点击“输出”按钮以默认参数导出数据即可。 默认导出路径为“D:\SGDownload\tt1_拼接[默认]\L10”。 三、VS2010创建应用程序 解压编译包后还不能直接使用,需要设置环境变量: OSG_ROOT? ?? ???X:\OSG OSG_FILE_PATH? ?? ???%OSG_ROOT%\data OSG_WINDOW? ?? ???600 15 800 800 Path? ?? ?? ?? ?? ? %OSG_ROOT%\bin; 设置文件目录属性 Osgearth的一个主要目标是易于应用集成,实际上有2种方式去整合osgearth. 第一种方式你可以建立一个earth file,然后在你的应用程序中加载它. 第二种使用osgearth API的时候以编程方式动态建立一个地图。 这里我们使用第一种,使用OpenSceneGraph现有的插件来读写数据,不需要osgEarth的lib和头文件,但是需要把dll拷贝到osg的bin目录下面 1、新建一项目,我命名为test3。 2、首先配置相应的包含文件和库文件目录,添加相应的链接器 3、附加依赖项 01.OpenThreadsd.lib? ? 02.osgd.lib? ? 03.osgDBd.lib? ? 04.osgFXd.lib? ? 05.osgGAd.lib? ? 06.osgManipulatord.lib? ? 07.osgParticled.lib? ? 08.osgShadowd.lib? ? 09.osgSimd.lib? ? 10.osgTerraind.lib? ? 11.osgTextd.lib? ? 12.osgUtild.lib? ? 13.osgViewerd.lib 4、编写代码 #include stdafx.h #include osgViewer/viewer #include osg/Node #include osg/geode #include osg\group #include osgDB/readfile #include osgDB/writefile #include osgUtil\optimizer ? ? int _tmain(int argc, _TCHAR* argv[]) ? ? { ? ?? ???osg::ref_ptrosgViewer::Viewer viewer=new osgViewer::Viewer(); ? ?? ???osg::ref_ptrosg::Group root=new osg::Group(); ? ?? ???osg::ref_ptrosg::Node node=osgDB::readNodeFile(mymap.earth); ? ?? ???root-addChild(node.get()); ? ?? ???osgUtil::Optimizer optimizer; ? ?? ???optimizer.optimize(root.get()); ? ?? ???viewer-setSceneData(root.get()); ? ?? ???viewer-realize(); ? ?? ???viewer-run(); ? ?? ???return 0; ? ? } mymap.earth是一个earth 文件,earth其实是文本格式的文件 内容如下 map name=MyM

文档评论(0)

wuyouwulu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档