Использование Openlayers getPixelFromCoordinate без рендеринга карты - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь создать простую карту Openlayers с векторным слоем и одной функцией, которую я могу использовать в своих тестах Jest:

document.body.innerHTML = <div id="test" style="width:500px;height:500px;"></div>;
const targetElement = document.getElementById('test');

const vectorSource = new ol.source.Vector({});
const map = new ol.Map({
  layers: [
    new ol.layer.Vector({
      source: vectorSource,
    })
  ],
  view: new ol.View({
    center: [0, 0],
    zoom: 2,
  }),
  target: targetElement
});

const coord = [-11690933.557134805, 4804814.791959302]

vectorSource.addFeature(new ol.Feature({
  geometry: new ol.geom.Point(coord),
}));

Однако, когда я пытаюсь получить пиксель, используяgetPixelFromCoordinate, он возвращает null:

const pixel = map.getPixelFromCoordinate(coord)

Я полагаю, это из-за того, что view не инициализируется (map.frameState is null), согласно этому: https://github.com/openlayers/openlayers/issues/6647

Тогда у меня вопрос, есть ли способ использовать map.getPixelFromCoordinate без фактического рендеринга map или способ его рендеринга без головы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...