其实在第一步打开地图中我们已经接触了地图的eventHappen事件,并在这一事件中完成了地图的初始化和打开地图的操作,其实接收地图的其他事件原理是一样的。
下面我们以接收地图的mouseMove事件为例来讲解。
在网页的</body>上面插入如下HTML代码
<script language="JavaScript" for="oMapViewer" event="mouseMove(flag,x,y)">
window.status="x="+x+" "+"y="+y;
</script>
我们可以看到,实际上我们定义了一段javascript代码块并且设置了他的for和event属性,for指明了我们要接收哪一个事件,event指明了我们要接收的事件名称,这里我们接收的是oMapViewer的mouseMove事件。oMapViewer的mouseMove事件发生后就将执行我们在这段javascript代码块中定义的代码,并且我们还将得到事件发生的一些参数。
现在我们就加入这样的代码
window.status="x="+x+" "+"y="+y;
这样我们在地图上移动鼠标的时候在IE的状态栏中就将显示我们鼠标所指的经纬度坐标。
完整HTML代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>朝夕科技 MapEngine IMS 2007</title>
<script language="JavaScript" for=oMapViewer event=EventHappen(eventName)>
if (eventName=='initcomplete')
{
oMapViewer.openDB("[]http://www.mapok.com/mapokstudy/DataServer/MapData/4-10web/");
oMapViewer.openMap("中国地图");
oMapViewer.whole();
oMapViewer.redraw();
}
</script>
<script language="JavaScript" for="oMapViewer" event="mouseMove(flag,x,y)">
window.status="x="+x+" "+"y="+y;
</script>
</head>
<body>
<center>
<input type=button value="放大" onClick="oMapViewer.setCurrentTool(1)">
<input type=button value="缩小" onClick="oMapViewer.setCurrentTool(2)">
<input type=button value="移动" onClick="oMapViewer.setCurrentTool(3)">
<input type=button value="全图" onClick="oMapViewer.whole()">
</center>
<center>
<center>
<OBJECT id=oMapViewer codeBase=http://www.mapok.com/mapokstudy/MeInclude/MeMapViewer.CAB#version=2,0,2,19 height="100%" width="100%" classid=CLSID:D19243C5-D51A-4624-A5CB-ECA63DC9D894></OBJECT>
</center>
</body>
</html>
查看运行结果
所有的地图事件您可以参考我们的MapEngineIMS .NET参考手册MapViewerEvents类