【问题标题】:Openlayers WMS layer not zooming properlyOpenlayers WMS 图层未正确缩放
【发布时间】:2013-10-21 14:44:34
【问题描述】:

我开发了一个脚本来显示 2 层 ob 底图。

但它没有正确缩放。

我正在使用以下代码

你能推荐我吗

<script type="text/javascript">
    var map, layer, select, hover, control;

    function init(){

        map = new OpenLayers.Map('map', {
            controls: [
                new OpenLayers.Control.PanZoom(),
                new OpenLayers.Control.Permalink(),
                new OpenLayers.Control.Navigation()
            ]
        });
             layer = new OpenLayers.Layer.WMS(
            "States WMS/WFS",
            "http://localhost:8080/geoserver/topp/wms",
            {layers: 'topp:india_road',transparent: true}

        );
        select = new OpenLayers.Layer.Vector("Selection", {styleMap: 
            new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])
        });
        hover = new OpenLayers.Layer.Vector("Hover");
        map.addLayers([layer, hover, select]);
         var wmsLayer = new OpenLayers.Layer.Google('Google Layer',{} );
        map.addLayer(wmsLayer);



        map.setCenter(new OpenLayers.Bounds(143.83482400000003,-43.648056,148.47914100000003,-39.573891).getCenterLonLat(), 5);
    }
</script>

【问题讨论】:

    标签: geoserver wms


    【解决方案1】:

    没有正确缩放是什么意思?

    您是否发现在尽可能放大时它们与谷歌地图不匹配,或者缩放工作直到您尝试平移然后图层不与谷歌地图保持对齐?如果是这种情况,那么您的放大可能超出了 Google 地图服务所支持的范围。没有简单的方法可以解决此问题,我建议您使用以下设置更改允许的比例和缩放

    • minScale - float -- 图层应显示的最小比例值
    • maxScale - float - 图层应显示的最大比例值
    • numZoomLevels - int -- 缩放级别的总数 另请参阅link,了解有关谷歌缩放比例的更多信息。

    如果您发现您的所有图层都与 google 背景不匹配。 IE。它们看起来像被放大或偏移,那么您的数据很可能与谷歌地图图层处于不同的投影中。谷歌地图使用 EPSG:900913 作为他们的 SRS。最简单的方法是让 geoserver 为您进行重新投影。转到 geoserver 中的图层设置,确保正确设置原生投影并将声明的 SRS 设置为 EPSG:900913。

    如果这没有帮助,那么我认为我们需要更多关于问题所在的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-25
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多