как установить открытый слой в фиксированной точке - PullRequest
0 голосов
/ 17 апреля 2020

Я пытался установить слой в центре экрана, когда я пытался изменить масштаб слоя, он меняет положение слоя. Я пробовал много раз, но не могу установить слой в центре. Пожалуйста, помогите мне решить эту проблему. хочу исправить слой в центре экрана. Я использовал чистый javascript язык в своем коде

  <script> 
    var bounds = new OpenLayers.Bounds(68.5094575, 6.6791812, 97.0315678, 35.3123975);
    var options = {
      controls: [],
      maxExtent:bounds,
      projection: "EPSG:4326",
      maxResolution:0.02741796875,
      center:[78.008072,27.176670],
      units: 'm',
      zoom:10
      };

      map = new OpenLayers.Map('map-id', options)
      map.addControl(new OpenLayers.Control.PanZoomBar({ position: new OpenLayers.Pixel(2,15)}));

      map.addControl(new OpenLayers.Control.Navigation());
      map.addControl(new OpenLayers.Control.Scale());
      map.addControl(new OpenLayers.Control.MousePosition());
      map.addControl(new OpenLayer.Control.TransformFeature());
      map.getView().setCenter(78.008072,27.176670);
      map.getView().setZoom(zoom);
      map.getView().fit(bounds, map.getSize());
 </script>
 <script>            
   var popup;
   var currentLayer=null;
   var selectedVillageId=-1;
   function changeMap() {
     selectedVillageId = $('#village-filter').children("option:selected").val();
     var c = new OpenLayers.Layer.WMS( selectedVillageId, "http://localhost:8081/geoserver/wms",{ 
      srs: 'EPSG:32644', 
      layers: 'ada_sazra:'+selectedVillageId, 
      styles: '', 
      format:'image/png', 
      tiled: 'true', 
      tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom
    },
    {
      singleTile: true, 
      ratio: 1
    });

    if(currentLayer==null) {
      currentLayer=c;
      map.addLayer(currentLayer);
    } else {
      map.removeLayer(currentLayer)
      currentLayer=c;
      map.addLayer(currentLayer);
    }
    map.zoomTo(8)
  }
</script>
...