首页 > 新闻频道 > 译文 > 应用 > Google Earth > 正文

基于Google Earth 的无人机地面站的设计

2014-06-21 18:09:32来源:《软件》2014年 第1期 编辑:Agnes浏览:

【来源】《软件》2014年 第1期

【作者】尹鲁杰(青岛科技大学)

【摘要】分析了Google Earth的基本概况,研究如何在C++程序中嵌入浏览器,使用JavaScript语言调用Google Earth,实现Google Earth的显示与操控。然后在C++和JavaScript之间建立交互调用,实现C++与Google Earth的数据交互。该平台实现了GE视图放大缩小,航路点的规划、修改及存储,以及仪表的嵌入的功能,满足了应用的基本需求。

【节选】

无人机在执行任务时,我们需要对其进行实时监测和控制,及时了解无人机的当前位置、周围环境和工作状态,利用Google Earth 的三维视图容易实现这些功能。,通过使用 Google Earth COM 接口,将Google Earth 中的地图视图取出嵌入到自己的控制平台中,结合Google Earth API实现对地图视图的交互控制,但是Google Earth 自5.2 版本以后不再支持COM 接口,这种方法不再适用。针对这个问题,提出了通过在C++ 程序中嵌入浏览器的方式来解决,首先使浏览器打开一个html 页面,该页面使用JavaScript 语言调用Google Earth ,实现Google Earth 的显示与操控,然后在C++ 和JavaScript 之间建立交互调用,实现C++与Google Earth 的数据交互。……

……在Visual Studio 中使用MFC 创建向导建立一个对话框程序,然后在资源视图标签中打开对话框,插入一个WebBrowser类型的ActiveX 控件。该控件便是浏览器控件,通过这个控件的Navigate() 函数,可以定向访问之前建立的本地html 页面。程序启动后,浏览器打开html 页面,页面访问Google 服务器加载Google Earth,效果如图1:

在html 页面中调用对话框中的C++ 函数需要用到浏览器控件的IDocHostUIHandler 和IDispatch 这两个COM 接口类,重写浏览器的这两个接口类,使得javascript 调用外部函数的时候,通知浏览器控件调用对应的C++ 函数。在IDispatch 中的GetIDsOfNames() 函数中添加C++ 函数名标识,传递该标识的ID 给Invoke()函数,然后在该函数中调用对应ID 的C++ 函数。交互方式建立完成后,编写各自的响应函数,完成无人机的控件操作,比如鼠标左键的点击响应模式是航路飞行还是自由飞行,或者是获取无人机的经纬度信息。

点击下载PDF格式原文

声明:本站发布此文章意在传递信息,并不表明同意其观点或证实其描述,仅供大家学习交流与分享。

热门资讯

解决Google Earth 无法连接服务器方法
解决Google Earth 无法连接服务器方法

谷歌地球变谷歌黑洞啦~!从昨日中午起就有论坛007

不一样的世界地图
不一样的世界地图

世界地图的基本构架形成于16—18世纪,后来就无大

谷歌地球看海南文昌卫星发射中心规划图
谷歌地球看海南文昌卫星发射中心规划图

文昌航天发射中心位于中国海南省文昌市附近约北纬

南沙群岛现状地图
南沙群岛现状地图

虽然历史和法理依据均证明,南沙群岛的主权毫无疑

广州增城市新塘镇事件地图
广州增城市新塘镇事件地图

我叔叔有个工厂,所以养了十几条狗看家护院。有外

卫星图片看被菲律宾强占的我南海9大岛礁
卫星图片看被菲律宾强占的我南海9大岛礁

南沙群岛自古以来就是中国领土的一部分,而,随着

让油价不再飞涨——上海打折加油站地图上线
让油价不再飞涨——上海打折加油站地图上线

 2月25日,由折扣网站“爱折客”牵头组织、部分

利比亚地图 分析最新局势
利比亚地图 分析最新局势

3月8日,一年一度的国际妇女节,特别的是,今年的

Google地图Android版正式支持离线包下载
Google地图Android版正式支持离线包下载

心心念念“无网亦可用”的离线地图终于正式上线了

关于Google的Hosts无法访问原因
关于Google的Hosts无法访问原因

近日,多个Google 在国内的Hosts的IP地址都失效


关于上帝之眼| 招贤纳士| 意见反馈| 联系我们| 网站地图| 友情链接| 卫星库| 地球论坛

©2005-2017 Godeyes,cn Interactive. All rights reserved 上帝之眼版权所有

桂ICP备13002970号-2

网警 联系电话