gpt4 book ai didi

javascript - OpenLayers3 在圆上添加文字

转载 作者:行者123 更新时间:2023-11-30 09:44:59 25 4
gpt4 key购买 nike

经过大量搜索,我终于找到了一段代码,可以让我在 map 上画一个圆。

HTML:

<div id="mapHolder"></div>

CSS:

#mapHolder{
width: 100%;
height: 200px;
background-color: #ccc;
}

JavaScript:

$(document).ready(function(){
var map = new ol.Map({
target: 'mapHolder',
interactions: ol.interaction.defaults({mouseWheelZoom:false}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.transform([parseFloat(8.680239), parseFloat(50.114034)], 'EPSG:4326','EPSG:3857'),
zoom: 13
})
});



var vectorSource = new ol.source.Vector();
var circleLayer = new ol.layer.Vector({
source: vectorSource
});
map.addLayer(circleLayer);

var coordinate = ol.proj.transform([parseFloat(8.680239), parseFloat(50.114034)], 'EPSG:4326','EPSG:3857');
vectorSource.addFeature(new ol.Feature(new ol.geom.Circle(coordinate, 2000)));

});

这是 fiddle :https://jsfiddle.net/79hjbxw9/

1) 如何在圆圈上放置标题为“近似面积”的文本;并且还能够定义颜色和字体。

2) 我还想改变圆形边框的颜色和粗细。

最佳答案

您可以在矢量图层上使用样式。

声明你的风格

     var myStlye = new ol.style.Style ({
fill: new ol.style.Fill({
color: 'rgba(255,100,50,0.5)'
}),
stroke: new ol.style.Stroke({
color: 'blue',
width: 3
}),
text: new ol.style.Text({
textAlign: "Start",
textBaseline: "Middle",
font: 'Normal 12px Arial',
text: 'Approximate Area',
fill: new ol.style.Fill({
color: '#ffa500'
}),
stroke: new ol.style.Stroke({
color: '#000000',
width: 3
}),
offsetX: -45,
offsetY: 0,
rotation: 0
})
});

然后把它附加到你的图层上

 var circleLayer = new ol.layer.Vector({
style:myStlye,
source: vectorSource
});

这是一个fiddle看看它的实际效果

关于javascript - OpenLayers3 在圆上添加文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39200323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com