您的位置:首页 > 其它

基于SVG技术实现WebGIS的基本功能(2)

2006-03-20 14:20 621 查看
下面介绍一下搜索功能的实现。可以根据用户输入的地物名称在地图中进行搜索,并高亮将其显示。消息响应的函数如下:
function searchFeature(featureName)
{
var svgDoc = document.mysvg.getSVGDocument();
var svgObj = svgDoc.getElementById(featureName);
if (svgObj)
{
var svgStyle = svgObj.getStyle();
svgStyle.setProperty('stroke', 'white');
}
}
下面对如何实现地图的图层管理功能进行说明。
在SVG地图中,根据不同分类,地理对象被组织在不同的层中,以组元素<g>作为其分层的方式,每个图层都有相应的标识ID,不同的图层根据ID来进行区分,例如:
<g id="Soil" style="opacity:1.0;visibility:visible;"></g>
对不同的图层进行显示控制可以用如下函数实现:
function setMapLayerVisible(id, checkBool)
{
var svgObj = svgdoc.getElementById(id);
var svgStyle = svgObj.getStyle();
if (checkBool)
svgStyle.setProperty('visibility', 'visible');
else
svgStyle.setProperty('visibility', 'hidden');
}
如果checkBool为true,将该层设置为可见;checkBool为false时,将该层设置为不可见。
还有其它一些GIS相关的基本功能,比如,显示地理对象信息、改变图元颜色、地理对象坐标的显示等等,基本都和上面的代码相类似,可以通过DOM接口直接操作SVG文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: