2013-10-21 6 views
0

두 개의 레이어 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 - 총 줌 레벨 수 google 확대/축소 눈금에 대한 자세한 내용은 link을 참조하십시오.

Google 배경과 일치하는 레이어가 없다면 I.E. 그들이 확대되거나 오프셋되어있는 것처럼 보이면 데이터가 Google지도 레이어와 다른 투영에있을 가능성이 큽니다. Google지도는 EPSS : 900913을 SRS로 사용합니다. 가장 쉬운 방법은 지리 서버가 다시 투영을하도록하는 것입니다. Geoserver에서 레이어 설정으로 이동하여 네이티브 투영을 올바르게 설정하고 선언 된 SRS를 EPSG : 900913으로 설정하십시오.

그게 도움이되지 않는다면 문제의 원인에 대한 자세한 정보가 필요하다고 생각합니다.