OpenLayers的新功能:矢量支持

今天用小乌龟同步了OpenLayers的代码库,发现更新不少,看到Examples里增加了不少新的文件,大概看了一下,有以下主要更新:
  • KML支持
  • GML支持
  • Vector支持,当然是前面的基础
  • 还有,矢量编辑支持
下面看几个例子:

KML支持:


代码:
map.addLayer(new OpenLayers.Layer.GML("KML", "kml/mc-search.kml", {format: OpenLayers.Format.KML}));

矢量编辑:




代码中只需要增加一个绘制的Control就可以了:

drawControls = {
    point: new OpenLayers.Control.DrawFeature(pointLayer,
           OpenLayers.Handler.Point),
    line: new OpenLayers.Control.DrawFeature(lineLayer,
           OpenLayers.Handler.Path, options),
    polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
                            OpenLayers.Handler.Polygon, options)
};

然后激活某个控件就可以了:

control.activate();

简单的说:

vlayer = new OpenLayers.Layer.Vector( "Editable" );
            map.addLayer(vlayer);
            map.addControl(new OpenLayers.Control.EditingToolbar(vlayer));

是不是看起来很美,至少自己看来,OSGeo的那些 开源 软件, OpenLayer 确实是一个比较有创意,有灵感的东西。以这个东西为基础,也许会有很多很有意思的新应用。

posted on 2007-03-19 13:47  马维峰  阅读(3759)  评论(6编辑  收藏  举报