Skip to content

Commit d3b548f

Browse files
committed
888: adjust scatter mapbox hover when css transition is present
1 parent 4b1bf62 commit d3b548f

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/plots/mapbox/mapbox.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,14 +382,18 @@ proto.createFramework = function(fullLayout) {
382382
div.style.position = 'absolute';
383383
self.container.appendChild(div);
384384

385+
var gd = self.gd;
386+
var scaleX = gd._fullLayout._inverseScaleX;
387+
var scaleY = gd._fullLayout._inverseScaleY;
388+
385389
// create mock x/y axes for hover routine
386390
self.xaxis = {
387391
_id: 'x',
388-
c2p: function(v) { return self.project(v).x; }
392+
c2p: function(v) { return self.project(v).x * scaleX; }
389393
};
390394
self.yaxis = {
391395
_id: 'y',
392-
c2p: function(v) { return self.project(v).y; }
396+
c2p: function(v) { return self.project(v).y * scaleY; }
393397
};
394398

395399
self.updateFramework(fullLayout);

src/traces/scattermapbox/hover.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ module.exports = function hoverPoints(pointData, xval, yval) {
2222
var ya = pointData.ya;
2323
var subplot = pointData.subplot;
2424

25+
var gd = subplot.gd;
26+
var scaleX = gd._fullLayout._inverseScaleX;
27+
var scaleY = gd._fullLayout._inverseScaleY;
28+
2529
// compute winding number about [-180, 180] globe
2630
var winding = (xval >= 0) ?
2731
Math.floor((xval + 180) / 360) :
@@ -52,11 +56,12 @@ module.exports = function hoverPoints(pointData, xval, yval) {
5256

5357
var di = cd[pointData.index];
5458
var lonlat = di.lonlat;
59+
5560
var lonlatShifted = [Lib.modHalf(lonlat[0], 360) + lonShift, lonlat[1]];
5661

5762
// shift labels back to original winded globe
58-
var xc = xa.c2p(lonlatShifted);
59-
var yc = ya.c2p(lonlatShifted);
63+
var xc = xa.c2p(lonlatShifted) / scaleX;
64+
var yc = ya.c2p(lonlatShifted) / scaleY;
6065
var rad = di.mrc || 1;
6166

6267
pointData.x0 = xc - rad;

0 commit comments

Comments
 (0)