0
updatePolygon: function() {
    drawControls.modify.createVertices;
    var sides = 50;
    drawControls.regular.handler.sides = sides;
}

OpenLayers の例からこの関数を取得しました。それは完全に機能します。firebug だけが、編集するポイントに複数のエラーを表示します。

this.features["OpenLayers.Feature.Vector_" + (id - 1 + this.hitOverflow)] is undefined
http://freetrack.local/js/OpenLayers.js
Line 1310

あまりきれいに見えないので、誰かがこれを解決するのを手伝ってくれませんか。

前もって感謝します!

4

1 に答える 1

0

@Pepijn、私はこれに近い課題に直面し、ポリゴンから 1 つのポイントを変更する必要がありました。次のコードが機能しました。

var ls = new OpenLayers.Geometry.LineString([a, b]);

    // calculate scale
    var distance = a.distanceTo(b);
    var scale = newSize / distance;

    ls.resize(scale, a);
    var newB = ls.getVertices()[1];
    console.debug( 'novo b : ' + newB );

    var ownerFeature = vectors.getFeatureById(owner)
    var points = ownerFeature.geometry.getVertices();

    for (var i=0;i<points.length-1;i++){
        if( points[i].x == b.x && points[i].y == b.y ){
            console.debug('found b');
            ownerFeature.geometry.addComponent(newB,i);
            ownerFeature.geometry.removeComponent(b);
            vectors.redraw();
            break;      
        }
    }
于 2013-03-31T14:17:30.513 に答える