Я новичок в geoserver и sld. У меня есть 2 слоя поверх базового слоя OSM. Один для создания тепловой карты и один для этикетки. Мой тепловой слой и базовый слой отлично обрабатываются, но текст ярлыка не отображается в openlayers. Когда я просматриваю его в geoserver, он отображается нормально, но когда я пытаюсь отобразить его в javascript, он отображается только при уменьшении. Кажется, я ничего не могу найти в Интернете по этой проблеме.Geoserver 2.10 Openlayers 3 Метка TextSymbolizer не отображается
Вот SLD:
<FeatureTypeStyle>
<Rule>
<Name>AQI text</Name>
<Title>AQI Text</Title>
<Abstract>AQI information</Abstract>
<TextSymbolizer>
<label>
<ogc:PropertyName>aqi</ogc:PropertyName>
</label>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
Вот снимок предварительного просмотра на GeoServer:
Вот Javascript OpenLayers код:
var londonLonLat = [-0.118092, 51.509865];
var londonWebMercator = ol.proj.fromLonLat(londonLonLat);
var layers = [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Image({
//extent: [-13884991, 2870341, -7455066, 6338219],
source: new ol.source.ImageWMS({
url: 'http://159.203.81.20:8080/geoserver/wms',
params: {'LAYERS': 'tiger:shapefile'},
serverType: 'geoserver'
})
}),
new ol.layer.Image({
//extent: [-13884991, 2870341, -7455066, 6338219],
source: new ol.source.ImageWMS({
url: 'http://159.203.81.20:8080/geoserver/wms',
params: {'LAYERS': 'test2:test_text_layer'},
serverType: 'geoserver'
})
})
];
var map = new ol.Map({
layers: layers,
target: 'map',
view: new ol.View({
center: londonWebMercator,
zoom: 10
})
});
Здесь представляет собой снимок страницы:
Вот снимок на Уменьшить:
Эй, @Wiredo, позаботьтесь, чтобы принять один из ответов здесь? :) –
ОК. Я действительно придумал другой ответ, который решил проблему, но выбрал ваш, поскольку у вас есть альтернативное и более подробное решение – Wiredo