谁知道openlayers+geoserver +postgre部署的地图数据能不能点击放大缩小是不让地图数据重新访问posrtgre数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁知道openlayers+geoserver +postgre部署的地图数据能不能点击放大缩小是不让地图数据重新访问posrtgre数相关的知识,希望对你有一定的参考价值。

参考技术A 在layerPreview 中,找到对应图层,用 openlayers 打开、 是“读不出来”还是“读出一片全白的区域“,还是”直接让你下载一个WMS文件“ 如果是最后一种追问

能读出来,不过我的地图数据库被多个用访问,没访问一次都更新一次postgre的值(显示在地图上的数据),结果是我先访问的地图,然后有人也访问地图(改变了地图数据)我在放大地图我的数据就变成别人的了,这并不是我想要的结果

使用 Openlayers 和 GEOServer 显示特征名称

【中文标题】使用 Openlayers 和 GEOServer 显示特征名称【英文标题】:Displaying feature name using Openlayers and GEOServer 【发布时间】:2012-07-27 18:04:03 【问题描述】:

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

我们如何使用 GeoServerOpenLayers 中显示它。

谢谢, 阿肖克

【问题讨论】:

【参考方案1】:

您需要使用 geoserver 中的样式为该功能定义 TextSymbolizer。转到geoserver admin --> Styles --> 添加新样式。

如下添加一个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>

在标签内定义需要显示其值的特征。 接下来将给定的图层与此样式相关联,更新并重新加载。

【讨论】:

【参考方案2】:

如果您使用 WMS 图层,请尝试使用SLD styles。但是,如果你使用矢量图层,你必须使用 OpenLayers StyleMap to label your features,试试这个

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

【讨论】:

以上是关于谁知道openlayers+geoserver +postgre部署的地图数据能不能点击放大缩小是不让地图数据重新访问posrtgre数的主要内容,如果未能解决你的问题,请参考以下文章

GeoServer 和 OpenLayers 在显示大量点时有啥限制?

请教各位用Openlayers+geoserver怎么实现这种效果

请教各位用Openlayers+geoserver怎么实现这种效果

Geoserver 2.10 Openlayers 3 TextSymbolizer 标签未显示

Openlayers 和 geoserver - 没有这样的属性:bbox

openlayers6结合geoserver实现地图矢量瓦片(附源码下载)