如何序列化OpenLayers功能?

时间:2014-06-20 09:30:04

标签: javascript openlayers openstreetmap

我有OpenLayer地图。我在此地图上绘制标记(命名要素),但我不知道如何导出/序列化这些元素。

可能无法导出任何功能。

这是我的代码

var map, vectors, controls;
    function init(){
        map = new OpenLayers.Map('map');
        var wms = new OpenLayers.Layer.OSM( "OSM",
                "http://a.tile2.opencyclemap.org/transport/${z}/${x}/${y}.png", {layers: 'basic'});

        // allow testing of specific renderers via "?renderer=Canvas", etc
        var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
        renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;

        vectors = new OpenLayers.Layer.Vector("Vector Layer", {
            renderers: renderer
        });

        map.addLayers([wms, vectors]);
        map.addControl(new OpenLayers.Control.LayerSwitcher());
        map.addControl(new OpenLayers.Control.MousePosition());

        controls = {
            point: new OpenLayers.Control.DrawFeature(vectors,
                    OpenLayers.Handler.Point),
            line: new OpenLayers.Control.DrawFeature(vectors,
                    OpenLayers.Handler.Path),
            polygon: new OpenLayers.Control.DrawFeature(vectors,
                    OpenLayers.Handler.Polygon),
            drag: new OpenLayers.Control.DragFeature(vectors)
        };

        console.log(map.addControl(controls['point']));

        var control = controls['point'];
        control.activate();

        var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
        var toProjection   = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
        var position       = new OpenLayers.LonLat(16.6833, 53.7167).transform(fromProjection, toProjection);

        map.setCenter(position, 12);
        document.getElementById('noneToggle').checked = true;
    }

请帮帮我

1 个答案:

答案 0 :(得分:0)

好的,我找到了洗液。所有元素都存储在矢量对象