MapServer 交互地图及Browse模式


这幅动态地图是在browse模式下生成的。在地图上用鼠标点击,会发现地图动起来了。

这个地图与前面的静态地图都使用相同的 Mapfile 定义。 不同之处在于第二个地图(动态创建的地图)依赖于HTML表单进行交互。 如果您查看此页面与上一页的源代码,会发现它们之间的不同。 这个页面在MapServer术语中称为HTML模板。

在地图上点击后,会发现页面的URL改变了。下面将 URL 中的参数解析一下,要注意URL的一些参数与用户的点击有关系:


>>> url =
'http://webgis.cn/cgi-bin/mapserv?map=%2Foswebgis%2Fmfc1.map&imgext=-77.658863+-140.267559+282.943144+39.732441&imgxy=300.0+150.0&zoom=0&layer=topo&layer=states_line&mode=browse&img.x=342&img.y=119'
>>> para_str = url.replace('%2F', '/').split('?')[-1].split('&')
>>> from pprint import pprint
>>> pprint([x.split('=') for x in para_str])
[['map', '/owg/mfc1.map'],
['imgext', '-77.658863+-140.267559+282.943144+39.732441'],
['imgxy', '300.0+150.0'],
['zoom', '0'],
['layer', 'modis'],
['layer', 'states_line'],
['mode', 'browse'],
['img.x', '342'],
['img.y', '119']]