MapServer6.4.1教程学习--CGI变量和用户接口(2-0)_mapserver 接口怎么找-程序员宅基地

技术标签: 地图  MapServer  Mapserver  WEBGIS  中文教程  

第二节  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所有,请尊重劳动成果,转载将注明出处。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/asswclw/article/details/43167387

智能推荐

android 开发框架_通过此拖放框架学习Android开发-程序员宅基地

文章浏览阅读223次。android 开发框架 1990年代后期,我开始进行涉及计算机的基于教室的研究时,我要做的第一件事就是将一些计算机带入教室。 我的顾问获得了六台第一代Bondi Blue iMac的资助,这些iMac将在我们进行研究的中学安装。 带着那些诱人的胶状形状的机器进入学校后,我对寻找参与者的担忧就烟消云散了。 那时,任何地方的计算机,尤其是中学教室里的计算机,仍然相对不常见,我们能够将其新颖性融..._安卓拖拽框架

android EditText基本设置_android中设置edittext第一行7位第二行8位-程序员宅基地

文章浏览阅读6.8k次。身份证号码大都是数字,但是极少数的最后一位是字母的。比如说,可能是X、Y、Z。在xml里这样设置就可以了:android:digits="1234567890XYZ" 但是我要默认的输入法为数字,怎么实现?谢谢你的解答,解决了我的问题。android:inputType="number"android:digits="0123456789xyzXYZ"同时设_android中设置edittext第一行7位第二行8位

ELAS_ROS算法在KITTI数据集上生成稠密点云-程序员宅基地

文章浏览阅读2.5k次,点赞8次,收藏37次。ELAS是一种基于概率模型的有效立体匹配算法,能够给予双目图像生成深度图,进而转化为点云.该算法的一种改进算法为LS-ELAS,其论文发表在2017年ICRA上,文章题目为"LS-ELAS: Line Segment based Efficient Large Scale Stereo Matching".本片博客主要介绍ELAS算法的一种开源代码ELAS_ROS安装,及其在KITTI数据集上的具体实现.一.KITTI数据集下载与转换为rosbag本文使用的KITTI数据集由kitti2bag转换为._elas_ros

项目众包 开源项目_您的开源项目应该报告其社会效益吗?-程序员宅基地

文章浏览阅读166次。项目众包 开源项目 尽管就“开源”和“自由”软件之间的差异写了很多字,但很少有人指出,对这些差异的讨论通常类似于围绕企业社会角色的辩论,最近几十年来,这种辩论一直占据着主导地位。 企业社会责任(CSR)概念。 但是,事实是,致力于开放原则的组织可以(并且应该)报告其活动,因为这些活动具有经济和社会影响。 对这种情况的分析实际上可能有助于我们调和两个原则性立场,它们之间的共同点比他们可能意识到..._软件免费开放使用 社会效益

seb小铺-程序员宅基地

文章浏览阅读235次。seb小铺链接:http://shop33201394.taobao.com/ ..._华为电脑^seb不能使用

华为鸿蒙HarmonyOS与安卓到底有何不同?_安卓系统臃肿吗_安卓和harmonyos底层-程序员宅基地

文章浏览阅读405次,点赞3次,收藏4次。IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**_安卓和harmonyos底层

随便推点

vue项目element框架 表格el-table 进行拖动排序_vue el-table实现拖拽-程序员宅基地

文章浏览阅读596次。【代码】vue项目element框架 表格el-table 进行拖动排序。_vue el-table实现拖拽

达梦数据库基础2-数据库实例(Linux)_linux达梦数据库创建实例-程序员宅基地

达梦数据库基础2-数据库实例(Linux),介绍了在Linux系统中创建和管理达梦数据库实例的方法,包括使用图形界面工具和命令工具来进行操作。摘要长度:88个字符。

Django1.6与extjs4整合-程序员宅基地

文章浏览阅读189次。从今日开始,公司的新后台系统,我将全部迁移到python的环境下,主要使用了Django与extjs4、jquery1.7的,数据库mysql5.5,容器是nginx。因为不考虑并发因素,所以在这里没有高深的python的线程处理,只是向刚毕业的大学生,几个框架的整合而已,没啥营养,我也是对于python的掌握,觉得Django这框架做的挺好的,模板处理、model层的映射等都比之前玩java..._django extjs

微服务雪崩保护_网络波动会导致微服务都不可用吗-程序员宅基地

文章浏览阅读1.8k次。一.微服务雪崩问题一.分布式系统问题由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的提供者,自身可能会被拖死,导致服务调用者阻塞,最终可能引发雪崩效应。二.可能产生雪崩的原因:1.服务不可用:缓存击穿、大量的请求、程序bug、硬件故障、资源耗尽等导致服务不可用2.流量过大:由于用户或者代码逻辑重试三.现象:1.开始线程1中微服务D不可用了,线程1阻塞在微服务D2.线程2中,由于微服务C依赖于不可用的微服务D,那么导致微服务C也不可用,线程2阻_网络波动会导致微服务都不可用吗

Oracle表的种类及定义_oralcle 设计表 多段名称定义-程序员宅基地

文章浏览阅读1.8k次。1表的类型1)堆组织表(heap organized tables).当增加数据时,将使用在段中找到的第一个适合数据大小的空闲空间.当数据从表中删除时,留下的空间允许随后的insert和update重用.2)索引组织表.这里表存储在索引结构中,利用行本身物理排序.在堆中,数据可能被填到任何适合的地方,在索引组织表中,根据主关键字,以排序顺序来存储数据.3)聚簇表_oralcle 设计表 多段名称定义

python颜色代码表_将十六进制值转换为python中颜色的名称-程序员宅基地

文章浏览阅读1.1k次。my program outputs hex values such as (#673429ff).I wanted to convert that to the colour name.How can I get the colour name?I am using python.Here is the last part of my code:index_max = scipy.argmax(..._〈red_lbl_16〉

推荐文章

热门文章

相关标签