Javascript OpenLayers 3:偏移笔划样式

Javascript OpenLayers 3:偏移笔划样式,javascript,openlayers-3,Javascript,Openlayers 3,我有一个笔划样式的线条特征。其中一些特性代表两个方面,因此除了最初的笔划颜色之外,我希望在它旁边有一条不同颜色的平行线。如果ol/style/Stroke具有像ol/style/Image那样的偏移属性,这将是一个不需要动脑筋的问题,但遗憾的是,它没有。如果我为这些特征创建了偏移几何体,那么从缩小的标高上看不到它们。我的选项是什么?您可以根据分辨率偏移几何图形 var style=函数(特性、分辨率){ 变量颜色=['绿色'、'黄色'、'红色']; var宽度=4; var样式=[]; 对于(

我有一个笔划样式的线条特征。其中一些特性代表两个方面,因此除了最初的笔划颜色之外,我希望在它旁边有一条不同颜色的平行线。如果
ol/style/Stroke
具有像
ol/style/Image
那样的偏移属性,这将是一个不需要动脑筋的问题,但遗憾的是,它没有。如果我为这些特征创建了偏移几何体,那么从缩小的标高上看不到它们。我的选项是什么?

您可以根据分辨率偏移几何图形

var style=函数(特性、分辨率){
变量颜色=['绿色'、'黄色'、'红色'];
var宽度=4;
var样式=[];
对于(变量行=0;行2){
变量相交=数学相交(坐标[counter],坐标[counter+1],坐标[counter+2],坐标[counter+3]);
坐标[计数器+1]=(交叉口)?交叉口:坐标[计数器+1];
坐标[计数器+2]=(交叉口)?交叉口:坐标[计数器+2];
计数器+=2;
}
});
推(
新ol风格({
几何:新的ol.geom.LineString(坐标),
笔划:新的ol风格笔划({
颜色:颜色[行],
宽度:宽度
})
})
);
}
返回样式;
};
var raster=新建ol.layer.Tile({
来源:new ol.source.OSM()
});
var source=new ol.source.Vector();
var vector=新的ol.layer.vector({
资料来源:资料来源,
风格:风格
});
var map=新ol.map({
图层:[光栅,矢量],
目标:“地图”,
视图:新ol.view({
中心:[-11000000,4600000],
缩放:4
})
});
map.addInteraction(新ol.interaction.Draw({
资料来源:资料来源,
键入:“LineString”
}));
html,body,.map{
保证金:0;
填充:0;
宽度:100%;
身高:100%;
}


var intersection=math.intersect
中的
math
是什么?我想你不是指
Math
,因为这里没有
Math.intersect
。如果没有
if
块,它会工作得非常好,谢谢。你能解释一下你的整个代码的方法吗。再次感谢。感谢编辑解释了
if
块,但是你能浏览一下主要部分的数学吗?