Как отобразить, отцентрировать и увеличить карту с помощью OpenLayers? - PullRequest
0 голосов
/ 28 ноября 2018

Я начал изучать OpenLayers и GeoServer.Слой добавляется в GeoServer с использованием файла формы OSM, который обозначен как EPSG:4326 с границами [68.5094575, 6.6791812, 97.0315678, 35.3123975].Используя OpenLayers, этот слой получается как WMS и отображается.

Для отображения карты используется следующая строка кода:

map.getView().fit(bounds, map.getSize());

Теперь карта отображается.Но когда я использую приведенный ниже код, карта не отображается:

map.getView().fit(bounds, map.getSize());
map.getView().setCenter(ol.proj.transform[77.216574, 28.627671], 'EPSG:4326', 'EPSG:3857'));
map.getView().setZoom(5);

Заранее спасибо.

1 Ответ

0 голосов
/ 28 ноября 2018

У вас есть синтаксическая ошибка:

map.getView().setCenter(ol.proj.transform[77.216574, 28.627671], 'EPSG:4326', 'EPSG:3857'));

должно быть:

map.getView().setCenter(ol.proj.transform([77.216574, 28.627671], 'EPSG:4326', 'EPSG:3857'));

Если я изменю это и удалю map.getView().fit(bounds, map.getSize());

Карта работает:

html,
body {
  height: 100%;
  width: 100%;
  padding: 0px;
  margin: 0px;
}

.map {
  height: 95%;
  width: 100%;
}
<link rel="stylesheet" href="https://openlayers.org/en/v5.3.0/css/ol.css" type="text/css">
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>

<div id="map" class="map"></div>
<script>
  var map = new ol.Map({
    layers: [
      new ol.layer.Tile({ // TileLayer({
        source: new ol.source.OSM()
      })
    ],
    target: 'map',
    view: new ol.View()
  });
  map.getView().setCenter(ol.proj.transform([77.216574, 28.627671], 'EPSG:4326', 'EPSG:3857'));
  map.getView().setZoom(5);
</script>
...