From b3f3425e116b3cc49e550aa1162b96c8ff343378 Mon Sep 17 00:00:00 2001 From: pah100 Date: Fri, 14 Jul 2017 20:41:24 +0800 Subject: [PATCH] Fix #6211 (tooltip position incorrect when moved in bmap) --- extension/bmap/BMapCoordSys.js | 8 +++++++- src/component/tooltip/TooltipContent.js | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/extension/bmap/BMapCoordSys.js b/extension/bmap/BMapCoordSys.js index bd0c460e80..eda669ce69 100644 --- a/extension/bmap/BMapCoordSys.js +++ b/extension/bmap/BMapCoordSys.js @@ -133,7 +133,8 @@ define(function (require) { // TODO Dispose ecModel.eachComponent('bmap', function (bmapModel) { - var viewportRoot = api.getZr().painter.getViewportRoot(); + var painter = api.getZr().painter; + var viewportRoot = painter.getViewportRoot(); if (typeof BMap === 'undefined') { throw new Error('BMap api is not loaded'); } @@ -160,6 +161,11 @@ define(function (require) { var overlay = new Overlay(viewportRoot); bmap.addOverlay(overlay); + + // Override + painter.getViewportRootOffset = function () { + return {offsetLeft: 0, offsetTop: 0}; + }; } var bmap = bmapModel.__bmap; diff --git a/src/component/tooltip/TooltipContent.js b/src/component/tooltip/TooltipContent.js index ee53b8aa0e..f054ae92fe 100644 --- a/src/component/tooltip/TooltipContent.js +++ b/src/component/tooltip/TooltipContent.js @@ -219,10 +219,10 @@ define(function (require) { // the sibling of canvas root. So padding of ec container // should be considered here. var zr = this._zr; - var viewportRoot; - if (zr && zr.painter && (viewportRoot = zr.painter.getViewportRoot())) { - x += viewportRoot.offsetLeft || 0; - y += viewportRoot.offsetTop || 0; + var viewportRootOffset; + if (zr && zr.painter && (viewportRootOffset = zr.painter.getViewportRootOffset())) { + x += viewportRootOffset.offsetLeft; + y += viewportRootOffset.offsetTop; } var style = this.el.style;