0

私は OpenLayers の初心者で、非常に基本的な問題を抱えています。助けていただければ幸いです。

別の方法で線を引きたい。(OpenLayers.Control ではありません)。

これが私のコードの一部です:(関数パラメーターとして座標を取得しています)

        var openlayersCoordinates = [];
        coordinates.forEach(function (c) {
            openlayersCoordinates.push(new OpenLayers.Lonlat(c.y, c.x));
        });

        var polyPoint = new OpenLayers.Geometry.LineString(openlayersCoordinates);
        var feature = new OpenLayers.Feature.Vector(polyPoint, null, {
            strokeColor: color,
            fillColor: color,
            strokeWidth: 5
        });

Chrome デバッガーでは、polyPoint 配列が「未定義」(空) として返されます。どこが間違っているのですか?ご検討ありがとうございます!

4

1 に答える 1

0

OpenLayers.Geometry.LineStringのコンストラクターは、の配列でOpenLayers.Geometry.Pointはなく、オブジェクトの配列を想定していますOpenLayers.LonLat

では、変更してみてください

openlayersCoordinates.push(new OpenLayers.Lonlat(c.y, c.x));

openlayersCoordinates.push(new OpenLayers.Geometry.Point(c.x, c.y));
于 2012-08-17T06:27:35.917 に答える