как открыть слой весь слой в фиксированной позиции на экране - PullRequest
0 голосов
/ 18 апреля 2020

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

<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);
</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>
...