Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Openlayers和GEOServer显示要素名称_Openlayers_Geoserver - Fatal编程技术网

使用Openlayers和GEOServer显示要素名称

使用Openlayers和GEOServer显示要素名称,openlayers,geoserver,Openlayers,Geoserver,我试图在加载时在地图中显示要素名称(例如:建筑名称) 我们如何使用GeoServer在OpenLayers中显示这些内容 谢谢, Ashok您需要使用geoserver中的样式为功能定义TextSymboler。转到geoserver管理-->样式-->添加新样式 添加一个TextSymblolizer,如下所示 <sld:NamedLayer xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.

我试图在加载时在地图中显示要素名称(例如:建筑名称)

我们如何使用GeoServer在OpenLayers中显示这些内容

谢谢,
Ashok

您需要使用geoserver中的样式为功能定义TextSymboler。转到geoserver管理-->样式-->添加新样式

添加一个TextSymblolizer,如下所示

<sld:NamedLayer xmlns:sld="http://www.opengis.net/sld"
    xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
    <sld:UserStyle>
        <sld:Name>layer_name</sld:Name>
        <sld:Title>layer_title</sld:Title>
        <sld:Abstract/>
        <sld:FeatureTypeStyle>
            <sld:FeatureTypeName>Feature</sld:FeatureTypeName>

            <sld:Rule>
                <sld:Name>rule01</sld:Name>                             
                <sld:TextSymbolizer>
                    <sld:Label>
                        <ogc:PropertyName>feature_name</ogc:PropertyName>
                    </sld:Label>
                    <sld:Font>
                      <sld:CssParameter name="font-family">Arial</sld:CssParameter>
                      <sld:CssParameter name="font-style">Normal</sld:CssParameter>
                      <sld:CssParameter name="font-size">12</sld:CssParameter>
                    </sld:Font>


                    <sld:LabelPlacement>
                        <sld:PointPlacement>
                        <sld:AnchorPoint>
                            <sld:AnchorPointX>
                                0.5
                            </sld:AnchorPointX>
                            <sld:AnchorPointY>
                                0.5
                            </sld:AnchorPointY>
                        </sld:AnchorPoint>
                        </sld:PointPlacement>
                    </sld:LabelPlacement>            
                </sld:TextSymbolizer>
            </sld:Rule>
        </sld:FeatureTypeStyle>
    </sld:UserStyle>
</sld:NamedLayer>

图层名称
图层标题
特色
规则01
特征名称
Arial
典型的
12
0.5
0.5
在标记中定义需要显示其值的特征。
接下来,将给定图层与此样式关联,更新并重新加载。

如果使用WMS图层,请尝试。但是,如果您使用的是矢量层,则必须使用OpenLayers样式图,请尝试以下操作

var style = new OpenLayers.StyleMap({
    default :new OpenLayers.Style({
          'label': '${feature_attr}'
    })
})