Drawsee 2D 开发指南

Drawsee IMS 2D 地图基本控制

地图基本控制

本节内容

显示地图:

    捕获“插件初始化完毕”事件

    只有当地图插件初始化完毕后才可以显示地图。因此首先需要捕获地图插件初始化完成的这个消息。eventHappen()方法提供了捕获插件消息的功能。它返回一个插件当前的状态信息。当此状态信息为“initcomplete”时,表示插件初始化完毕。

    用法:

<script language=”javascript” for=”oMapViewer” event=”eventHappen(eventName)”>
	//当eventName的值为initcomplete时,即表示插件初始化完毕
	if(eventName == “initcomplete”)
		//处理打开地图的代码
</script>

    当插件初始化完毕后就可以调用oMapViewer类的openDB()方法打开图库,再用oMapViewer类的openMap()方法打开地图了。

    用法:

<script language=”javascript” for=”oMapViewer” event=”eventHappen(eventName)”>
	if(eventName == “initcomplete”)
	{
		//打开图库
		oMapViewer.openDB(“[http://localhost/MapServer/MapService.asmx]China”);
		//打开地图
		oMapViewer.openMap(“中国地图”);
	}
</script>

    由上可知,openDB()方法接受一个地址作为其参数。openMap()方法的参数是要打开地图的名称。

    关闭地图

    oMapViewer类的closeDB()方法可以实现关闭地图的功能,用法:oMapViewer.closeDB();

地图浏览的基本功能

    当地图正确显示后,可以对其添加“放大”,“缩小”,“全图”等操作来丰富webgis的应用。

    添加如“放大”和“缩小”等这些功能时使用的是oMapViewer类的setCurrentTool()方法,它接受一个代表操作类型的常量。

    用法:

oMapViewer.setCurrentTool(oMapViewer.OPER_ZOOMIN);	//放大
oMapViewer.setCurrentTool(oMapViewer.OPER_ZOOMOUT);	//缩小
oMapViewer.setCurrentTool(oMapViewer.OPER_PAN);	//漫游
oMapViewer.setCurrentTool(oMapViewer.OPER_SELECT);	//选择实体
oMapViewer.setCurrentTool(oMapViewer.OPER_ADDENTITY);	//添加实体
oMapViewer.setCurrentTool(oMapViewer.OPER_ENITENTITY);	//编辑实体
oMapViewer.setCurrentTool(oMapViewer.OPER_MEASURE);	//测量长度
oMapViewer.setCurrentTool(oMapViewer.MOVEENTITY);	//移动实体操作
oMapViewer.setCurrentTool(oMapViewer.TRACKLINE);	//跟踪线操作
oMapViewer.setCurrentTool(oMapViewer.TRACKPOLYGON);	//跟踪多边形操作
oMapViewer.setCurrentTool(oMapViewer.TRACKRECT);	//矩形跟踪操作

    除了上述介绍的对地图进行操作的方法外,还可以使用oMapViewer类提供的whole()方法执行全图操作。

    用法:

oMapViewer.whole(); //全图操作

地图显示的配置

    可以通过oMapViewer类的maxScale和minScale属性设置地图缩放的比例尺。

    用法:

function displaySet()
{
	//设置最大比例尺
	oMapViewer.maxScale = 100000000;
	//设置最小比例尺
	oMapViewer.minScale = 1000;
	//重绘地图
	oMapViewer.redraw();
}

    maxScale和minScale都是用来设置地图形式最大或最小比例尺的。如果当前地图比例尺大于或小于此值就不能再进行缩放了。

范例 -- 测距

    按照上面讲解的内容,现在在地图上添加一个测量距离的功能。用户可以通过点击鼠标在地图上画出线段,在线段上显示测量结果,双击结束测量距离操作。

    实现此功能只需要使用oMapViewer类的setCurrentTool方法,并将用户当前状态设置为oMapViewer.OPER_MEASURE。

    用法:

oMapViewer.setCurrentTool(oMapViewer.OPER_MEASURE);

    运行效果: