能够打开和关闭地图图层是Web制图应用程序的标准功能。有很多种方法来完成这,比如控制使用表单对象。 您可以使用下拉框/菜单,复选框,和/或单选按钮。在这个例子中,你将看到如何使用复选框和下拉框来实现选择图层。
这里是对应文件:
01 MAP
02 IMAGETYPE "PNG"
03 EXTENT -180 -90 180 90
04 SIZE 600 300
05 SHAPEPATH "/gdata"
06 IMAGECOLOR 255 255 255
07 FONTSET "../fonts/fonts.list"
08 PROJECTION
09 "init=epsg:4326"
10 END
11 TEMPLATEPATTERN "tmpl-*"
12 WEB
13 TEMPLATE "to be replaced by map_web_template variable in section2.html"
14 IMAGEPATH "/owg/ms_tmp/"
15 IMAGEURL "/ms_tmp/"
16 METADATA
17 "wms_title" "WMS Demo Server"
18 "wms_onlineresource" "http://192.168.4.211/cgi-bin/mapserv?map=/mstu/htdocs/example2.map&"
19 "wms_srs" "EPSG:3857 EPSG:4326"
20 END
21 END
22 LAYER
23 NAME "land"
24 DATA "land_shallow_topo_8192.tif"
25 STATUS OFF
26 TYPE RASTER
27 END
28 LAYER
29 NAME "topo"
30 TYPE RASTER
31 CONNECTIONTYPE WMS
32 CONNECTION "http://wcs.osgeo.cn:8088/service?"
33 METADATA
34 "wms_srs" "EPSG:4326"
35 "wms_name" "maplet_i887"
36 "wms_server_version" "1.1.1"
37 "wms_format" "image/jpeg"
38 END
39 PROJECTION
40 "init=epsg:4326"
41 END
42 END
43 LAYER
44 NAME "states_poly"
45 DATA "wcountry.shp"
46 STATUS OFF
47 TYPE POLYGON
48 LABELITEM "NAME"
49 CLASS
50 NAME "States"
51 STYLE
52 COLOR 232 232 232
53 END
54 END
55 END
56 LAYER
57 NAME "states_line"
58 DATA "wcountry.shp"
59 STATUS OFF
60 TYPE LINE
61 CLASS
62 NAME "State Boundary"
63 STYLE
64 COLOR 132 132 32
65 END
66 END
67 END
68 LAYER
69 NAME "wriver"
70 DATA "wriver.shp"
71 STATUS OFF
72 TYPE LINE
73 CLASS
74 NAME "World River"
75 STYLE
76 COLOR 0 0 255
77 END
78 END
79 END
80 LAYER
81 NAME "wroads"
82 DATA "wroads.shp"
83 STATUS OFF
84 TYPE LINE
85 CLASS
86 NAME "World Road"
87 STYLE
88 COLOR 100 200 100
89 END
90 END
91 END
92 END
请注意,除了“States”多边形背景,图层状态是如何被变更为关闭的。 国家图层背景保留为默认值,所以当没有任何打开图层绘制的时候,我们的地图上永远有东西。 我们应用程序的用户应该能控制图层打开或关闭
如果你看了HTML template的源代码,
你将会理解如何通过MapServ
来打开/关闭图层
下面展示的是使用表单进行提交,各种参数通过隐藏的 input
控件来传递。效果与上面是一样的: