打开第 3 层标签不会显示
Open Layers 3 Labels won't show
我正在尝试使我的地图显示标签。但是我的地图上没有显示任何文本。没有错误。以下是我创建样式的方法:
labelItem = {name: "name1", font: "arial", fontSize: 20}
computeFeatureStyle = function(labelItem) {
return new ol.style.Style(
{
stroke: new ol.style.Stroke({
color: 'black'
}),
text: new ol.style.Text(
{
font: labelItem.fontSize + "px helvetica," + labelItem.font,
text: labelItem.name,
fill: new ol.style.Fill(
{
color: "#000" //labelItem.fill_color
}),
stroke: new ol.style.Stroke(
{
color: "#fff", //labelItem.stroke_color,
width: 2
}),
})
});
};
在这里,我创建图层对象:
labelData = [{name: "name1", font: "arial", fontSize: 20}]
createLabelLayer = function() {
// Geometries
// Source and vector layer
var vectorSource = new ol.source.Vector({ projection: 'EPSG:4326' });
var layer = new ol.layer.Vector({ source: vectorSource });
var labelFeatures = [];
for(var i = 0; i < labelData.length; ++i ) {
var labelItem = labelData[i];
var point = new ol.geom.Point(convertCoordinateToWeb( Ext.getCmp("map").map.getView().getCenter()) );
var feature = new ol.Feature({
geometry: point,
name: labelItem.name
});
feature.setStyle([this.computeFeatureStyle(labelItem)]);
vectorSource.addFeature( feature );
}
vectorSource.addFeatures(labelFeatures);
return layer
};
这是我的矢量图层。我做了map.addLayer(layer)但标注不会显示在地图上。我做错了什么?
我还尝试将样式对象直接添加到向量中:layer.setStyle(computeFeatureStyle(labelItem)),它仍然不起作用。
调试代码的最佳方法是稍微分解一下。 例如,不要直接在样式函数中返回样式,而是先将其放入变量中。 然后,在您最喜欢的浏览器开发人员工具中,在返回样式的行处放置一个断点。 它将允许您监视样式的内容,看看那里是否有问题。
另外,检查"静态"值是否有效。 对期望具有的值进行硬编码,只是为了进行测试。
你可以看看下面的例子,它也可以有所帮助: http://openlayers.org/en/v3.3.0/examples/vector-labels.html
相关文章:
- 在高图表中,每x步只显示标签
- 如何隐藏和显示标签控件JavaScript
- 如何在angular js的ng应用程序中以普通的htm显示标签
- 使用细丝组tablesaw插件时未显示标签
- 用Javascript在具有相同类的按钮上显示标签
- Dijit 按钮显示图标,但不以编程方式显示标签
- 当圆形图像在圆轮中发生变化时,如何在顶部显示标签
- jqPlot - 无法使 x 轴正确显示标签
- 在堆叠条形图上显示标签
- 在酒窝气泡图中的每个气泡内显示标签
- Struts2 显示标签动态链接显示相同的行值
- HTML,显示标签的输入值
- JS sup() 在 html 中显示标签
- 如何在我的WinJS工具栏上显示标签
- d3图表宽度不会在x轴上显示标签
- 如何在鼠标悬停在条形图上时显示标签
- Select2.js-如何防止显示标签
- 我无法在JQChart中显示标签
- 使用 jQuery 验证并尝试在标签无效时突出显示标签
- 将鼠标悬停在圆上时显示标签