0

我开发了一个脚本来显示 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>
4

1 回答 1

0

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

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

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

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

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

于 2013-10-23T03:04:24.740 回答