Javascript 如何在openlayers中的点之间添加线

Javascript 如何在openlayers中的点之间添加线,javascript,html,openlayers,Javascript,Html,Openlayers,我想在地图上的两点之间加一条线。我有下面的代码,但网页只显示一个底图,没有我想要的线 如何将这条线添加到OpenLayers地图 var-map=新的ol.map({ 目标:“地图”, 图层:[ 新ol.layer.Tile({ 来源:new ol.source.OSM() }) ], 视图:新ol.view({ 中心:Lonlat的其他项目([-95.36,29.75]), 缩放:10 }) }); var-coords=[-95.36,29.75]、-96.36,30.75]; var l

我想在地图上的两点之间加一条线。我有下面的代码,但网页只显示一个底图,没有我想要的线

如何将这条线添加到OpenLayers地图

var-map=新的ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.OSM()
})
],
视图:新ol.view({
中心:Lonlat的其他项目([-95.36,29.75]),
缩放:10
})
});
var-coords=[-95.36,29.75]、-96.36,30.75];
var lineString=新的ol.geom.lineString(坐标);
//转换为EPSG:3857
transform('EPSG:4326','EPSG:3857');
//创建特征
var功能=新的ol.功能({
几何图形:线串,
名称:“行”
});
var lineStyle=新的ol.style.style({
笔划:新的ol风格笔划({
颜色:“#ffcc33”,
宽度:10
})
});
var raster=新建ol.layer.Tile({
source:new ol.source.MapQuest({layer:'sat'})
});
var source=新的ol.source.Vector({
特色:[特色]
});
var vector=新的ol.layer.vector({
资料来源:资料来源,
样式:[线条样式]
});
map.addLayer(向量);

`

您的代码在OpenLayers v5.x(和v4.6.5,在v3.16.0中没有出现)中包含javascript错误:

删除指定以下内容的代码:

var raster = new ol.layer.Tile({
  source: new ol.source.MapQuest({layer: 'sat'})
});
然后显示该行

代码片段:

var-map=新的ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.OSM()
})
],
视图:新ol.view({
中心:Lonlat的其他项目([-95.36,29.75]),
缩放:10
})
});
变量坐标=[
[-95.36, 29.75],
[-96.36, 30.75]
];
var lineString=新的ol.geom.lineString(坐标);
//转换为EPSG:3857
transform('EPSG:4326','EPSG:3857');
//创建特征
var功能=新的ol.功能({
几何图形:线串,
名称:“行”
});
var lineStyle=新的ol.style.style({
笔划:新的ol风格笔划({
颜色:“#ffcc33”,
宽度:10
})
});
var source=新的ol.source.Vector({
特色:[特色]
});
var vector=新的ol.layer.vector({
资料来源:资料来源,
样式:[线条样式]
});
map.addLayer(向量)
html,
身体
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px;
}

您的代码在OpenLayers v5.x(和v4.6.5,在v3.16.0中没有出现)中包含javascript错误:

删除指定以下内容的代码:

var raster = new ol.layer.Tile({
  source: new ol.source.MapQuest({layer: 'sat'})
});
然后显示该行

代码片段:

var-map=新的ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.OSM()
})
],
视图:新ol.view({
中心:Lonlat的其他项目([-95.36,29.75]),
缩放:10
})
});
变量坐标=[
[-95.36, 29.75],
[-96.36, 30.75]
];
var lineString=新的ol.geom.lineString(坐标);
//转换为EPSG:3857
transform('EPSG:4326','EPSG:3857');
//创建特征
var功能=新的ol.功能({
几何图形:线串,
名称:“行”
});
var lineStyle=新的ol.style.style({
笔划:新的ol风格笔划({
颜色:“#ffcc33”,
宽度:10
})
});
var source=新的ol.source.Vector({
特色:[特色]
});
var vector=新的ol.layer.vector({
资料来源:资料来源,
样式:[线条样式]
});
map.addLayer(向量)
html,
身体
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px;
}


奇怪,似乎在为我工作。检查是否是因为openlayers的版本?您使用的是哪个版本的buddy。我也用小提琴试过这段代码,但仍然不起作用。一定是因为版本的原因。我使用的是v3.16.0,似乎对我有用。检查是否是因为openlayers的版本?您使用的是哪个版本的buddy。我也用小提琴试过这段代码,但仍然不起作用。一定是因为版本的原因。我使用的是v3.16.0
var raster = new ol.layer.Tile({
  source: new ol.source.MapQuest({layer: 'sat'})
});