vc如何在对话框上显示Google Earth
作者:cnfgg 日期:2009-08-25
添加类---〉类型:MFC—〉类型库中的MFC类---〉选中“文件”然后到安装GoogleEarth的目录下,找到googleearth.exe文件,点击“打开”按键---〉选择要加载的接口。默认情况下,每个接口对应一个类和一个头文件。如果想把这些类的声明全部放在一个头文件中,可以在“文件”框输入该头文件名。
(VS2003在这里存在很大的不完善之处:1,一次只能添加一个类到该头文件中,2,该头文件名不能通过浏览选中输入,一定要手动输入才行。)
2、如何在VC对话框中自动调用并显示Google Earth?
1)初始化COM库
我们得调用一下::CoInitialize(NULL); 初始化一下COM库,这个函数可以在ControlGe.cpp文件中的InitInstance()函数里面调用。
2)在头文件中初始化一个IApplicationGE 对象:m_geApplication(控制变量,可以用来控制Google Earth )。
顺便说一下,IApplicationGE是Google Earth COM API最主要的一个接口。
3)在实现文件中定义一个全局变量:
CLSID_ApplicationGE= {0x8097D7E9,0xDB9E,0x4AEF,{0x9B,0x28,0x61,0xD8,0x2A,0x1D,0xF7,0x84}};
CLSID_ApplicationGE是Google Earth COM API中定义的一个GUID。
4)在OnInitDialog()中加入以下代码:
m_geApplication.CreateDispatch(CLSID_ApplicationGE);
现在就自动运行了Google Earth。
至此,Google Earth 运行起来。
评论: 2 | 引用: 0 | 查看次数: -
回复
]请你给我一个vc++编写Google Earth地图的程序代码,我的邮箱zhangwww001@163.com,谢谢!
在头文件中初始化一个IApplicationGE 对象:m_geApplicationd之后为什么会出现以下错误:error C2259: “IApplicationGE”: 不能实例化抽象类
admin 于 回复
可能是版本问题,你的Google Earth是什么版本的?我的是5.0.11733.9347,大小是17.1MB。或者你留个邮箱,我发个例子给你。
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志: