1

ロード中にフィーチャ名をマップに表示しようとしています(例:建物の名前)。

GeoServerを使用してOpenLayersでこれを表示する方法。

ありがとう、アショク

4

2 に答える 2

0

geoserver のスタイルを使用して、フィーチャの TextSymbolizer を定義する必要があります。geoserver admin --> Styles --> Add a new style に移動します。

次のように TextSymblizer を追加します

<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>

タグ内で、値を表示する必要がある機能を定義します。次に、指定されたレイヤーをこのスタイルに関連付け、更新してリロードします。

于 2012-09-06T19:34:19.493 に答える
0

WMS レイヤーを使用している場合は、SLD スタイルを試してください。ただし、ベクターレイヤーを使用している場合は、OpenLayers StyleMapを使用して地物にラベルを付ける必要があります。これを試してください

var style = new OpenLayers.StyleMap({
    default :new OpenLayers.Style({
          'label': '${feature_attr}'
    })
})
于 2012-11-12T02:51:26.283 に答える