gpt4 book ai didi

javascript - 开放层 3 : simple LineString example

转载 作者:可可西里 更新时间:2023-11-01 02:23:11 26 4
gpt4 key购买 nike

我是 OpenLayers 的新手,我正在寻找在 map 上绘制线条的帮助,我一直在尝试各种不同帖子中关于绘制 LineString 的各种方法,但我无法让它工作!我只需要弄清楚如何在坐标之间画一条线。

下面是一些我试过但没有用的代码:

var points = [
new ol.geom.Point([78.65, -32.65]),
new ol.geom.Point([-98.65, 12.65])
];

var featureLine = new ol.Feature({
geometry: new ol.geom.LineString(points)
});

var sourceLine = new ol.source.Vector({
features: [featureLine]
});

var vectorLine = new ol.layer.Vector({
source: sourceLine
});

map.addLayer(vectorLine);

我也试过了,但是没用:

var layerLine = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString(points, 'XY'),
name: 'Line'
})]
}),
});

map.addLayer(vectorLine);

有人能指出我正确的方向吗?或者告诉我哪里出错了?

编辑:感谢 Jonatas,工作代码如下所示:

  var coordinates = [[78.65, -32.65], [-98.65, 12.65]]; 

var layerLines = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString(coordinates),
name: 'Line'
})]
}),
});

map.addLayer(layerLines);

最佳答案

只要改变这个:

var points = [
new ol.geom.Point([78.65, -32.65]),
new ol.geom.Point([-98.65, 12.65])
];

收件人:

var points = [
[78.65, -32.65], [-98.65, 12.65]
];

ol.geom.LineString构造函数接受一个坐标数组。

关于javascript - 开放层 3 : simple LineString example,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30888181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com