第二节 CGI变量和用户接口
(http://www.mapserver.org/tutorial/section2.html)
到目前为止我们只关注了创建地图时的mapfile文件。在创建网络地图应用时,通常希望构建能被用户(应用)交互改变的地图。那就是说,用户应该能够改变地图内容(或信息)。为了实现交互,我们使用MapServer HTML模板。
HTML 模板
MapServer HTML模板本质上就是包含一些MapServer标准标记的HTML文件。这些标记就是MapServerCGI变量,被封装在中括号内”[]”。MapServer CGI程序处理一个应用时,首先会解析查询字符串和mapfile文件,然后产生必要输出。有些输出需要写在HTML 模板文件中,同时也需要用网络模板关键字(或者是独立的HTML初始化文件)在mapfile文件中指定。CGI程序在返值给网络浏览器前会用合适的值替换HTML模板文件中的所有变量。如果直接在网络浏览器中查看HTML模板,将看不到渲染后的地图,相反你会得到空白图像和其他垃圾。
变量
MapServer为网络地图提供一些变量:示例1.9中的“img”变量就是一个例子。有一些核心的CGI变量最初被设计成地图接口的一部分,但是实际上所有mapfile变量都可定义成变量。关于MapServer CGI变量的最终参考可以在这里找到。
我们也可以定义自己的变量,MapServer会将它传递到我们的应用中。举例来说,我们可以创建一个称为“root”的变量来代表这个教程的根目录,“root”变量值会设置成“/tutorial”。当MapServer CGI程序处理我们的HTML模板时,将会用”/tutorial”替换掉每一个“[root]”实例标记。你会在下列每个例子中看到这个过程。
示例
好吧,让我们为应用加上交互接口吧。
n 网络地图用户应当能够平移和缩放地图:示例2.1-漫游和缩放地图控件
n 也应当能够打开或关闭地图上的图层:示例2.2-图层控件
n 地图应当有比例尺:示例2.3-添加比例尺
n 用户通过地图导航时,应当提供一个参考图:示例2.4-添加参考地图
n 地图应当有图例:示例2.5-添加图例
PS:中文版权为asswclw所有,请尊重劳动成果,转载将注明出处。