如何在 Openlayers 6 中绘制 lineString
How to draw a lineString in Openlayers6
我有一张使用 WMTS 源并使用 EPSG:25832 进行投影的地图。
我不明白为什么我很难在两个标记之间添加一条线。
它应该是一条有多个坐标的线,但我找不到任何关于如何添加线的文档。
我假设它应该是一个新的 vectorLayer,我将添加一个 lineString,但文档很难理解。有人能指出我正确的方向吗?
我一直在看这个例子,但我觉得不是很清楚是怎么回事。我将使用数据,不允许用户画线。
var map = new Map({
target: 'map',
layers: [
new TileLayer({
opacity: 0.7,
source: new WMTS({
crossOrigin: 'Anonymous',
url: `https://kortforsyningen.kms.dk/topo_skaermkort_daempet?TICKET=${TOKEN}`,
layer: 'dtk_skaermkort_daempet',
matrixSet: 'View1',
format: 'image/jpeg',
tileGrid: tileGrid,
style: 'default',
size: SIZE
})
}),
new VectorLayer({
source: new VectorSource({
features: [originMarker]
}),
style: new Style({
image: new Icon({
anchor: [0.5, 1],
src: A_ICON,
})
})
}),
new VectorLayer({
source: new VectorSource({
features: [destinationMarker]
}),
style: new Style({
image: new Icon({
anchor: [0.5, 1],
src: B_ICON,
})
})
})
],
view: new View({
center: fromLonLat(centerPoint, 'EPSG:25832'),
zoom: 3,
resolutions: tileGrid.getResolutions(),
projection: projection,
extent: EXTENT
})
});
创建连接两个点要素的线串要素
new Feature(new LineString([
originMarker.getGeometry().getCoordinates(),
destination.getGeometry().getCoordinates()
]))
然后将其添加到新图层或现有矢量源。
我有一张使用 WMTS 源并使用 EPSG:25832 进行投影的地图。 我不明白为什么我很难在两个标记之间添加一条线。 它应该是一条有多个坐标的线,但我找不到任何关于如何添加线的文档。 我假设它应该是一个新的 vectorLayer,我将添加一个 lineString,但文档很难理解。有人能指出我正确的方向吗?
我一直在看这个例子,但我觉得不是很清楚是怎么回事。我将使用数据,不允许用户画线。
var map = new Map({
target: 'map',
layers: [
new TileLayer({
opacity: 0.7,
source: new WMTS({
crossOrigin: 'Anonymous',
url: `https://kortforsyningen.kms.dk/topo_skaermkort_daempet?TICKET=${TOKEN}`,
layer: 'dtk_skaermkort_daempet',
matrixSet: 'View1',
format: 'image/jpeg',
tileGrid: tileGrid,
style: 'default',
size: SIZE
})
}),
new VectorLayer({
source: new VectorSource({
features: [originMarker]
}),
style: new Style({
image: new Icon({
anchor: [0.5, 1],
src: A_ICON,
})
})
}),
new VectorLayer({
source: new VectorSource({
features: [destinationMarker]
}),
style: new Style({
image: new Icon({
anchor: [0.5, 1],
src: B_ICON,
})
})
})
],
view: new View({
center: fromLonLat(centerPoint, 'EPSG:25832'),
zoom: 3,
resolutions: tileGrid.getResolutions(),
projection: projection,
extent: EXTENT
})
});
创建连接两个点要素的线串要素
new Feature(new LineString([
originMarker.getGeometry().getCoordinates(),
destination.getGeometry().getCoordinates()
]))
然后将其添加到新图层或现有矢量源。