diff --git a/src/RenderWebGL.js b/src/RenderWebGL.js index 55c16400c..745d0411f 100644 --- a/src/RenderWebGL.js +++ b/src/RenderWebGL.js @@ -1305,6 +1305,8 @@ class RenderWebGL extends EventEmitter { const id = candidateIDs[index]; if (id !== drawableID) { const drawable = this._allDrawables[id]; + // Text bubbles aren't considered in "touching" queries + if (drawable.skin instanceof TextBubbleSkin) continue; if (drawable.skin && drawable._visible) { // Update the CPU position data drawable.updateMatrix(); diff --git a/src/TextBubbleSkin.js b/src/TextBubbleSkin.js index 77a083194..0ce6ac1a2 100644 --- a/src/TextBubbleSkin.js +++ b/src/TextBubbleSkin.js @@ -241,6 +241,11 @@ class TextBubbleSkin extends Skin { this._renderedScale = scale; } + updateSilhouette (scale = [100, 100]) { + // Ensure a silhouette exists. + this.getTexture(scale); + } + /** * @param {Array} scale - The scaling factors to be used, each in the [0,100] range. * @return {WebGLTexture} The GL texture representation of this skin when drawing at the given scale.