Мне нужно нарисовать линию, соединяющую точку с ее меткой. Как это:Как нарисовать линию, соединяющую метку с ее позицией на OpenLayers3
«Y» имеет координаты, метка находится в другом положении на экране с помощью Offset. Я также могу перетащить ярлык, изменив его смещение, и мне нужно, чтобы линия адаптировалась, когда я делаю это, чтобы они оставались связанными.
Есть ли способ нарисовать линию на карте без предоставления ей координат? Потому что у меня только один набор координат и смещение.
Это, как я создал точку:
configLabel(offsetx,offsety,label){
labelStyle = new ol.style.Style({
text: new ol.style.Text({
font: '12px Calibri,sans-serif',
fill: new ol.style.Fill({ color: color }),
stroke: new ol.style.Stroke({
color: '#fff', width: 2
}),
text: label,
offsetY: offsety,
offsetX: offsetx
})
});
}
pointStyle = new ol.style.Style({
image: new ol.style.Icon({
anchor: [0.5, 25],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
src: 'img/point.ico'
})
});
var point = new ol.Feature(new ol.geom.Point(coord));
point.setStyle(pointStyle);
layerSource.addFeature(point);
var label1 = new ol.Feature(new ol.geom.Point(coord));
var style = configLabel(0,15, 'line1');
label1.setStyle(style);
layerSource.addFeature(label1);
var label2 = new ol.Feature(new ol.geom.Point(coord));
var style = configLabel(0,30, 'line2');
label2.setStyle(style);
layerSource.addFeature(label2);
var label3 = new ol.Feature(new ol.geom.Point(coord));
var style = configLabel(0,45, 'line3');
label3.setStyle(style);
layerSource.addFeature(label3);
var label4 = new ol.Feature(new ol.geom.Point(coord));
var style = configLabel(0,60, 'line4');
label4.setStyle(style);
layerSource.addFeature(label4);
Спасибо большое!
Вы получили только большой ответ, обратная связь приветствуется. –