2013-10-21 89 views
0

我開發了一個腳本來顯示2層ob底圖。Openlayers WMS圖層沒有正確縮放

但它沒有適當放大。

我使用下面的代碼

可以請你建議我

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

回答

0

你的意思是通過不正常放大?

您是否發現它們在放大時無法與Google地圖匹配,只要您可以去或縮放工作,直到您嘗試平移,然後圖層不會與Google地圖保持一致?如果是這種情況,那麼您可能會進一步放大,而不是Google地圖服務所支持的。有沒有簡單的方法來解決這個問題,我建議你改變允許尺度和具有以下設置

  • minScale放大 - 浮動 - 在該層應該顯示
  • maxScale的最小分度值 - 浮 - 圖層應顯示的最大比例值
  • numZoomLevels - int - 縮放級別的總數 另請參閱此link瞭解有關谷歌縮放比例的更多信息。

如果你發現你的圖層沒有匹配谷歌背景。 I.E.他們看起來像是放大或偏移,那麼很可能您的數據與谷歌地圖圖層的投影方式不同。谷歌地圖使用EPSG:900913作爲他們的SRS。最激動人心的做法是讓地理服務器爲您做重新投影。轉到geoserver中的圖層設置,確保已正確設置本機投影,並將已聲明的SRS設置爲EPSG:900913。

如果這沒有幫助,那麼我認爲我們需要更多關於問題的信息。