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 回答