根据属性条件查询地物在地图上的位置是最常见的GIS应用之一。MapGuide Fusion Viewer已经提供了这个功能。你可以通过Fusion 自带的Search Widget来按照指定的条件搜索,然后使地图跳转到相应位置。但是这个功能还是有一个小小的缺陷,即在跳转过去后的地图比例问题。
如果我们找到的是一个较大面积的面状地物还好,但如果我们要找的是一个点或者一个小地块,这时候你就会发现我们的地图缩的太小了,以至于不能看到周边地物。如何解决呢?其实还是我们上篇介绍的minScale的问题。
在Ajax Viewer下的解决方法你可以参考我们上一篇文章MapGuide Tips----如何限制MapGuide Ajax Viewer的缩放范围。 我们这里说说在Fusion Viewer中该如何更改。使用notepad或者你喜欢的文本编辑器打开"<MapGuide WebExtension>\fusion\layers\MapGuide\php\LoadMap.php",大致在284行,
$minScale = "0";
$maxScale = 'infinity'; // as MDF's VectorScaleRange::MAX_MAP_SCALE
修改对应的变量为适当的值即可。
同样,因为这是对MapGuide 源文件的更改,所以会应用到所有的在这个站点上的MapGuide 应用。好了,关于MapGuide开发的问题,除了这里峻祁连的博客外,你还可以到MGDN(MapGuide Developer Network)论坛交流.
Stay tuned!
如需转载,请注明原始出处和作者: 杜长宇(Daniel Du)