社区
Google技术社区
帖子详情
如何把Google Earth的地图显示区域嵌入到一个MFC窗口中
lailzhihou
2009-09-01 03:35:14
我想做的是在MFC的对话框程序中,如何调用Windows API将GoogleEarth的界面隐藏掉,并将GoogleEarth的地图显示在自定义的窗体上????
...全文
2004
9
打赏
收藏
如何把Google Earth的地图显示区域嵌入到一个MFC窗口中
我想做的是在MFC的对话框程序中,如何调用Windows API将GoogleEarth的界面隐藏掉,并将GoogleEarth的地图显示在自定义的窗体上????
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zsh817227
2012-05-23
打赏
举报
回复
我也遇到相同的问题了 不过程序才启动的时候可以用 等鼠标移动后在放回来就不起作用了
筋肉强打
2010-08-03
打赏
举报
回复
不过新的问题出现了,就是地图嵌入到程序中后,不能对其进行键盘操作了,它的焦点始终都是在父窗口上....这么解决?
筋肉强打
2010-08-03
打赏
举报
回复
楼主,亲乃的,爱死你了!
huxiaoweiyoung
2009-10-15
打赏
举报
回复
楼主,有源码吗?分享一下啊!!!
lyysf1
2009-09-15
打赏
举报
回复
这个网站真不错啊
barech
2009-09-15
打赏
举报
回复
顶一下楼主,呵呵
回去研究研究如何显示
lailzhihou
2009-09-08
打赏
举报
回复
前几天没空,今天才来回复一下,问题只是基本解决,但解决的不好,小弟在这里抛砖引玉,希望高手提供更好的方法。说明一下,我使用的Google Earth是简体中文5.0正式版。
我在解决这个问题前先看了这两位大虾的文章:
http://www.cnblogs.com/wpwen/archive/2009/02/22/1395622.html
http://blog.163.com/lionyue@126/blog/static/1079307120097212449115/
两篇文章基本一样。
下面说说我的做法,基本和上面的一样。还是先来段代码:
//获取客户端框架窗口句柄
m_hMainWnd = m_geApplication.GetMainHwnd();
//设置Google Earth窗口的位置和大小
::SetWindowPos((HWND)m_hMainWnd, HWND_BOTTOM, 0, 0, STATIC_GOOGLEEARTH_WIDTH+AP_GOOGLEEARTH_LEFTWIDTH+AP_GOOGLEEARTH_RIGHTWIDTH, STATIC_GOOGLEEARTH_HEIGHT+AP_GOOGLEEARTH_TOPHEIGHT+AP_GOOGLEEARTH_BOTTOMHEIGHT, SWP_HIDEWINDOW);
OLE_HANDLE renderhwnd = m_geApplication.GetRenderHwnd();
HWND GEParentHrender = ::GetParent((HWND)renderhwnd);
::ShowWindow(GEParentHrender, SW_HIDE);
//把HWND和窗口上的一个静态文本控件绑定
::SetParent((HWND)renderhwnd, m_static_googleearth.GetSafeHwnd());
我的代码与前面两位大虾所提到的不同之处在于设置Google Earth窗口的大小,他们都说要设置成没有大小的。而我却把它设置成有大小的。他们提到说设置成没有大小的,是因为他们说可以使用类似:
::MoveWindow((HWND)renderhwnd, 0, 0, width, height, true);
这样的语句来控制这个现实区域的大小和位置,但是我在使用这样的语句的时候,发现并没有起作用。我不知道是否是与我的Google Earth的版本有关系??
我的解决该问题的办法就是设置Google Earth的客户端为一个指定的大小,如800X600,那么此时他的画图的现实区域也是一个固定大小的,可能是730X592,这个大小是在隐藏左侧面板的条件下的,由于除去了客户端的标题,工具栏,和左右下的边框等,所以显示区域就只有这么大了。如果你想得到一个800X600大小的显示区域,那么可能就需要把客户端指定为870X608的大小了。
这样做基本能解决这个问题,但是有个很不好的地方,就是,如果别人的电脑使用的字体是大字体或超大字体(我使用的是普通字体)的时候,都会使窗口的标题栏的高度变大,也就是说这时候设置了870X608大小的Google Earth客户端的话,并不能得到800X600的画图窗口,还有一些其他的原因也会产生这样的问题。在这些情况下就会得不到一个固定大小的画图窗口,这样就会很不方便。我在想是否有没有什么办法能够获取到当前的画图窗口的大小。或是像两位大虾提到的能使用MoveWindow那就更好。
希望有这方面经验的高手来指点一下!!!
马少华
2009-09-01
打赏
举报
回复
怎么做的,能不能共享一下啊。
lailzhihou
2009-09-01
打赏
举报
回复
问题基本解决了,来个人接分呀!!!
【小沐学GIS】基于C++绘制三维数字地球
Ear
th
(osg
Ear
th
、三维瓦片地球)第十期
osg
Ear
th
是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的
显示
,实现三维虚拟地球。
Windows XP下运行的谷歌地球影像自动拼接工具包(含全部依赖DLL)
这个工具包专为Windows XP系统设计,核心程序sggs.exe能将多张已做地理配准的图片自动拼合成一张完整大图,并直接导入
Google
Ear
th
查看效果。运行时依赖gdal14.dll、cximage.dll、
MFC
71.dll等十余个动态链接库,压缩包内已全部打包到位,开箱即用。配套提供config.ini用于自定义输出路径与投影参数,task.tdb记录拼接任务历史,error.log实时记录运行异常,方便排查问题。附带详细图文使用说明(XP下载部落-使用说明.htm),还包含快捷帮助入口(帮助
初二账号密码,仅个人使用,请勿拿取!!!!!!!!!!!!!
初二账号密码,仅个人使用,请勿拿取!!!!!!!!!!!!!
1元云购代码-下载即用.zip
代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建
一个
完整的1元云购系统。 在构建1元云购源代码的过程
中
,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、
中
奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算
中
奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...
高校如何通过科技服务提升科研成果转化效率,助力地方经济发展?.docx
高校如何通过科技服务提升科研成果转化效率,助力地方经济发展?
Google技术社区
6,720
社区成员
3,230
社区内容
发帖
与我相关
我的任务
Google技术社区
专题开发/技术/项目 Google技术社区
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 Google技术社区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章