Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polygon OpenLayers 3获取WKT多边形字符串_Polygon_Geospatial_Openlayers 3_Wkt - Fatal编程技术网

Polygon OpenLayers 3获取WKT多边形字符串

Polygon OpenLayers 3获取WKT多边形字符串,polygon,geospatial,openlayers-3,wkt,Polygon,Geospatial,Openlayers 3,Wkt,我有一个openlayers 3地图,在那里我可以画多边形 我会返回表示已绘制多边形的WKT字符串 我怎么做 JSFIDLE代码 这是我的地图: map = new ol.Map({ target: 'map', layers: [raster,vector], view: new ol.View({ center: ol.proj.fromLonLat([11.249367, 43.774298

我有一个openlayers 3地图,在那里我可以画多边形

我会返回表示已绘制多边形的WKT字符串

我怎么做

JSFIDLE代码

这是我的地图:

map = new ol.Map({
            target: 'map',
            layers: [raster,vector],
            view: new ol.View({
              center: ol.proj.fromLonLat([11.249367, 43.774298]),
              zoom: 15
            })
        });
以下是帮助我绘制多边形的插图:

function addInteraction() {

        var ct = 0;
        draw = new ol.interaction.Draw({
            source: source,
            type: 'Polygon',
            geometryFunction: function (c, g) {
                if (goog.isDef(g)) {
                    g.setCoordinates(c);
                } else {
                    g = new ol.geom.Polygon(c);
                }
                if (c[0].length > ct) {
                    console.log('click coord : ' + c[0][c[0].length - 1]);
                    var coord = c[0][c[0].length - 1];
                    $('div#coordinate').html( $('div#coordinate').html() + "<p>" + ( Number(coord[0]).toFixed(2) ) + " - " + ( Number(coord[1]).toFixed(2) ) + "</p>" );
                coordinates.push(coord);
                    ct = c[0].length;
                } else {
                    console.log('move coord : ' + c[0][c[0].length - 1]);

                }

                return g;
            }
        });
        draw.on('drawend',  function(e) {
            isin = e;
            checkIfIn();
            lastFeature = e.feature;

          //write WKT Polygon Code in div#getAsWK
        })

        draw.on('drawstart', function (e) {
            source.clear();
        });


        map.addInteraction(draw);

    }
   map.addInteraction(draw);

ol3包含用于此目的的ol.format.WKT类。 使用如下的writeGeometry方法:

var format = new ol.format.WKT(),
    wkt = format.writeGeometry(yourFeature.getGeometry());
见API文档:


Fiddle:

ol3包含用于此目的的ol.format.WKT类。 使用如下的writeGeometry方法:

var format = new ol.format.WKT(),
    wkt = format.writeGeometry(yourFeature.getGeometry());
见API文档:

小提琴: