Javascript 在开放图层3中绘制线条
我知道已经有很多这样的帖子了,但我已经尝试了很多,它们似乎并没有解决我的问题 我试图用linestring在地图上画一条线,但不管我做什么,它都不会画线。这是我的密码:Javascript 在开放图层3中绘制线条,javascript,openlayers-3,Javascript,Openlayers 3,我知道已经有很多这样的帖子了,但我已经尝试了很多,它们似乎并没有解决我的问题 我试图用linestring在地图上画一条线,但不管我做什么,它都不会画线。这是我的密码: var coords = [[78.65, -32.65], [15.65, -98.65]]; var lineStyle = new ol.style.Style({ stroke: new ol.style.Stroke(({ width: 10 })) }); var layerLin
var coords = [[78.65, -32.65], [15.65, -98.65]];
var lineStyle = new ol.style.Style({
stroke: new ol.style.Stroke(({
width: 10
}))
});
var layerLines = new ol.layer.Vector({
style: lineStyle,
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString(coords, 'EPSG:4326', 'EPSG:3857'),
name: 'Line'
})]
}),
});
var map = new ol.Map({
layers: [
mainLayer,
vectorLayer,
layerLines
],
projection: "EPSG:3857",
target: 'map',
view: view
});
如果我在没有转换的情况下创建linestring,那么它确实会在0,0处显示一个点,但我不认为它无法读取我的坐标,因为如果我将其留空,则不会显示任何点,因此它不能使用默认值
我对javascript和OL非常陌生,所以我当前的示例项目是创建一个测量应用程序,人们可以在其中测量两点,并在两点之间画一条线。回答时请记住这一点。注意一些变化:
var coords = [[-65.65, 10.10], [13, 18]];
var lineString = new ol.geom.LineString(coords);
// transform to EPSG:3857
lineString.transform('EPSG:4326', 'EPSG:3857');
// create the feature
var feature = new ol.Feature({
geometry: lineString,
name: 'Line'
});
我更改了
坐标
,原来的坐标有点奇怪|错误。我下面的示例是在一行中创建它们,但显然需要将其分解才能正确转换。谢谢你的帮助