如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键

SkyllineGlobe提供的

<OBJECT ID=" TerraExplorer3DWindow" CLASSID="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width=500 height=400></OBJECT>
可以用来加载显示FLY格式的三维地图工程,可以嵌入到HTML页面中。

这个三维地图控件里,封装了在TerraExplorer中的一些快捷键,比如控制方向的"Q/W/A/S/Z/X/Home/Pgup/PgDn/End"等等,

但如果我们想重新定义一些快捷键,那么,首先该如何屏蔽原来的这些快捷键或者如何捕获到键盘触发的事件函数呢?

请看下面的示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" language="javascript">
        function Test() {
            var TE3DWindow = window.document.getElementById("TE3DWindow");
            //TE3DWindow.attachEvent("OnKeyboardMessage", OnKeyboardMessage);
        }

        function OnKeyboardMessage(Message, KeyCode, KeyData, bHandled) {
            bHandled = true;
            //return true;
        }
    </script>
    <script language="VBSCRIPT">

Sub TE3DWindow_OnKeyboardMessage(Message, KeyCode, KeyData,bHandled)
    msgbox KeyData
   bHandled = true ‘Indicate that the client handled the event.

end sub 

    </script>
</head>
<body style="margin: 0px; border: 0px;">
    <div>
        <table cellpadding="0" cellspacing="0" style="width: 100%; height: 100%; margin: 0px;
            border: 0px;">
            <tr>
                <td>
                    <input id="Button1" type="button" value="button" onclick="Test()" />
                </td>
            </tr>
            <tr>
                <td>
                    <object id="TE3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width="400"
                        height="400">
                    </object>
                </td>
            </tr>
        </table>
    </div>
</body>
</html>

  

上面的代码中,主要用到了 OnKeyboardMessage 这个事件函数,大家需要注意的是:

这个事件函数是定义到 TE3DWindow 对象的,而不是常用的SGWorld对象;

这个方法需要通过VBS来定义,JS定义的无效。

时间: 2024-10-13 12:58:54

如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键的相关文章

用DotSpatial下载谷歌瓦片图并展示到地图控件上

上一篇文章讲解如何加载各地图的WMS地图服务.虽然不涉及到瓦片,但是每次地图刷新都要请求网络,造成不小的网络负载.虽然判断视野是否改变确定是否请求网络来减小网络负载,但是这个方法仍然不理想. 谷歌的地图底图自带高程视觉,公路分级样式.行政区域分级样式.地图数据即时的更新速度等等优点,让人觉得有必要开发一个地图下载器.虽然谷歌本身被墙,但是谷歌地图还是可以访问的.地址如下: http://www.google.cn/maps(可以手动输入:http://maps.google.cn) 一.新建Wi

(转)深入理解最强桌面地图控件GMAP.NET ---高德地图

前一篇介绍了GMAP.NET的理论基础,这篇介绍如何集成高德地图.高德地图自从为IOS6提供地图后,目前已经被大众所熟知了. 在我集成国内地图的经验来看,也是最符合墨卡托投影法的. 前面的相关文章链接: 深入理解最强桌面地图控件GMAP.NET --- 原理篇 深入理解最强桌面地图控件GMAP.NET --- SOSO地图 深入理解最强桌面地图控件GMAP.NET --- 百度地图 深入理解最强桌面地图控件GMAP.NET --- 初用 深入理解最强桌面地图控件GMAP.NET --- 初识 如

(转)深入理解最强桌面地图控件GMAP.NET --- SOSO地图

前三篇介绍了GMAP.NET的一些基本功能以及如何集成一个百度地图. 深入理解最强桌面地图控件GMAP.NET --- 初识 深入理解最强桌面地图控件GMAP.NET --- 初用 深入理解最强桌面地图控件GMAP.NET --- 百度地图 虽然地图在国内用得最多的是谷歌和百度,但任何互联网产品都绕不过“腾讯”, 这一章就介绍如何在GMAP.NET中支持搜搜地图. 如何在你的程序中使用GMAP.NET SOSO地图 国内的地图都差不多,我觉得做得最好的是高德,下一篇会结合理论章节讲讲为什么,至少

(转)深入理解最强桌面地图控件GMAP.NET ---搜狗(sougou地图)

这应该是我集成国内地图的最后一篇了,以后如果有精力会继续分析Google地图,Bing地图,Yahoo地图,Ovi地图. 同时,会尽快将离线地图的使用以及数据存储部分分享出来. 前面的相关文章链接: 深入理解最强桌面地图控件GMAP.NET --- 原理篇 深入理解最强桌面地图控件GMAP.NET --- SOSO地图 深入理解最强桌面地图控件GMAP.NET --- 百度地图 深入理解最强桌面地图控件GMAP.NET --- 初用 深入理解最强桌面地图控件GMAP.NET --- 初识 如何在

深入理解最强桌面地图控件GMAP.NET ---离线地图

enjoyeclipse 深入理解最强桌面地图控件GMAP.NET ---离线地图 这章会介绍GMAP.NET的核心功能之一:离线地图.这个功能可以满足很多政府项目.保密项目.或者由于种种原因不能上网的项目的需求. 本章主要分成三个方面介绍:演示.生成离线地图.Demo代码. 一.演示 地图显示 地图缩放后还可以显示 网络是断了的 二.生成离线地图 前面已经演示了Demo,这个部分说如何生成离线地图,也就是Data.gmdb.GMAP.NET提供了集中缓存方式,MySQL,SQLLite,MSS

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

ArcGIS for Android地图控件的5大常见操作

原文地址: ArcGIS for Android地图控件的5大常见操作 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/arcgis_mobile/article/details/7801467   GIS的开发中,什么时候都少不了地图操作.ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS Runtime SDK for

(转)深入理解最强桌面地图控件GMAP.NET --- 原理篇

前几篇介绍了一些国内地图的案例, 深入理解最强桌面地图控件GMAP.NET --- SOSO地图 深入理解最强桌面地图控件GMAP.NET --- 百度地图 我们以Google地图为例,这章介绍下地图加载的原理. 投影(Projection) 谷歌地图采用的是墨卡托投影法,这里转载(http://www.cnblogs.com/willwayer/archive/2010/06/11/1756446.html) 下墨卡托投影的定义:墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地

(转)深入理解最强桌面地图控件GMAP.NET --- 百度地图

GMAP.NET支持了Google, Bing, Ovi, Openstreetmap, Yahoo,GIS等多种地图,但国内的地图支持得比较少. 不过没有关系,我们可以为GMAP.NET添加百度地图的支持,只要了解了地图加载的原理,就很容易集成进来, 最重要的是,它是支持离线的,也就是说利用GMAP.NET,我们可以制作各种离线地图供我们桌面应用程序使用, 这也是我为什么称之为最强地图控件的原因. 如何在你的程序中使用GMAP.NET百度地图 整个代码已经提交到 http://ypmap.go