OpenLayers сохранить холст на изображение не удается скрыть слой - PullRequest
0 голосов
/ 08 мая 2018

У меня есть приложение (Ionic 3.19) с OpenLayers 4.6.5.Я добавляю слой карты (Вектор) с некоторыми функциями.

Проблема: Когда я пытаюсь сохранить изображение карты с невидимым слоем , изображениевсе еще содержит слой. Это происходит только для Android , а не на ПК или iOS.

Код (TypeScript):

layer1.setVisible(false)
this._map.renderSync();
// context is the map @ViewChild
var canvas = this.context.nativeElement.getElementsByTagName('canvas')[0] // array length 1
var tmpCanvas = document.createElement('canvas');
var ctx = tmpCanvas.getContext('2d');
ctx.drawImage(canvas, 0, 0, canvas.width, canvas.height, 0, 0, newWidth, newHeight);
tmpCanvas.toBlob(blob => {
    // Save image in blob
}, 'image/jpeg', 0.95);
layer1.setVisible(true)

Это было проверено на телефонах Android 8.1 и 5.1.

Когда я отлаживаю, видимость layer1 действительно ложна.

Если я переключаю видимость слоя на событие касания, это работает как ожидалось:

layer1.setVisible(!layer1.getVisible())

Я также проверилиспользовать setOpacity (0) вместо setVisible, но тот же результат.

Любая помощь будет оценена, спасибо.

...