例1.2¶
两层静态地图¶
与第一个示例一样,此图像是通过将<img>标记的源链接到此URL生成的: https://demo.mapserver.org/cgi-bin/mapserv?map=/osgeo/mapserver/tutorial/htdocs/example1-2.map&layer=states_poly&layer=states_line&mode=map . 这就是本节中大多数示例的工作方式。
无论如何,您会注意到这里的地图与第一个示例相同。是的,但 Mapfile 不同。看看。
这就是 Mapfile 的外观: Example1-2.map
Mapfile 结构¶
按对象划分的mapfile结构如下所示:
MAP
LAYER-|-LAYER
CLASS-| |-CLASS
STYLE-| |-STYLE
在这里,我们将原始层分为两层。第一层仍然是多边形层,但是 STYLE object 不再具有大纲颜色,例如:
LAYER
...
TYPE POLYGON
...
CLASS
NAME "States"
STYLE
COLOR 232 232 232
END
END
END
第二层与第一层类似,只是类型更改为线条,样式中的颜色更改为与第一个示例中的大纲颜色相同的颜色。这将生成与第一个图像相同的图像。
LAYER
...
TYPE LINE
CLASS
NAME "State Boundary"
STYLE
COLOR 32 32 32
END
END
END
那么,为什么要这样做?¶
如果我们继续在状态层的顶部添加层,那么轮廓很可能会被这些其他层覆盖。为了在添加这些其他层之后仍能看到状态边界,我们必须将状态边界线层与状态多边形层分离,并将其放在其他层的顶部。我们如何定义/添加层是有顺序的,在本节中,您将清楚地看到它。