getPixelFromCoordinate возвращает ноль

В моем приложении я добавил слой mapquest с открытыми слоями 3, нарисованными точками и линиями...

Теперь мне нужно узнать координаты пикселя из точки long/lat на карте (видимой области), используя

map.getPixelFromCoordinate(coordinate).

эта функция всегда возвращает null (Тестирование):

center = map.getView().getCenter();
px = map.getPixelFromCoordinate(center);
alert(JSON.stringify(px));

Что я делаю не так или что я не правильно понял?

1 ответ

Я нашел этот ответ:

Я был бы осторожен с этим. Вы можете получить неправильные результаты, например, когда карта еще не имеет окончательного макета. Лучше подождать с преобразованием первой координаты в пиксель, пока карта не будет отрисована. Для этого вам не нужно время ожидания, у нас есть событие postrender на ol.Map. Итак, в вашем коде инициализации вы можете сделать что-то вроде этого:

map.once('postrender', function() {
  // safe to call map.getPixelFromCoordinate from now on
});

Источник: https://github.com/openlayers/ol3/issues/5456

Надеюсь, это поможет.

Другие вопросы по тегам