@@ -23,6 +23,9 @@ var subTypes = require('../scatter/subtypes');
23
23
24
24
25
25
module . exports = function plot ( geo , calcData ) {
26
+ for ( var i = 0 ; i < calcData . length ; i ++ ) {
27
+ calcGeoJSON ( calcData [ i ] , geo . topojson ) ;
28
+ }
26
29
27
30
function keyFunc ( d ) { return d [ 0 ] . trace . uid ; }
28
31
@@ -32,11 +35,7 @@ module.exports = function plot(geo, calcData) {
32
35
}
33
36
}
34
37
35
- for ( var i = 0 ; i < calcData . length ; i ++ ) {
36
- fillLocationLonLat ( calcData [ i ] , geo . topojson ) ;
37
- }
38
-
39
- var gScatterGeoTraces = geo . framework . select ( '.scattergeolayer' )
38
+ var gScatterGeoTraces = geo . layers . frontplot . select ( '.scatterlayer' )
40
39
. selectAll ( 'g.trace.scattergeo' )
41
40
. data ( calcData , keyFunc ) ;
42
41
@@ -49,20 +48,20 @@ module.exports = function plot(geo, calcData) {
49
48
gScatterGeoTraces . selectAll ( '*' ) . remove ( ) ;
50
49
51
50
gScatterGeoTraces . each ( function ( calcTrace ) {
52
- var s = d3 . select ( this ) ;
51
+ var s = calcTrace [ 0 ] . node3 = d3 . select ( this ) ;
53
52
var trace = calcTrace [ 0 ] . trace ;
54
53
55
54
if ( subTypes . hasLines ( trace ) || trace . fill !== 'none' ) {
56
55
var lineCoords = geoJsonUtils . calcTraceToLineCoords ( calcTrace ) ;
57
56
58
57
var lineData = ( trace . fill !== 'none' ) ?
59
- geoJsonUtils . makePolygon ( lineCoords , trace ) :
60
- geoJsonUtils . makeLine ( lineCoords , trace ) ;
58
+ geoJsonUtils . makePolygon ( lineCoords ) :
59
+ geoJsonUtils . makeLine ( lineCoords ) ;
61
60
62
61
s . selectAll ( 'path.js-line' )
63
- . data ( [ lineData ] )
62
+ . data ( [ { geojson : lineData , trace : trace } ] )
64
63
. enter ( ) . append ( 'path' )
65
- . classed ( 'js-line' , true ) ;
64
+ . classed ( 'js-line' , true )
66
65
}
67
66
68
67
if ( subTypes . hasMarkers ( trace ) ) {
@@ -86,7 +85,7 @@ module.exports = function plot(geo, calcData) {
86
85
style ( geo ) ;
87
86
} ;
88
87
89
- function fillLocationLonLat ( calcTrace , topojson ) {
88
+ function calcGeoJSON ( calcTrace , topojson ) {
90
89
var trace = calcTrace [ 0 ] . trace ;
91
90
92
91
if ( ! Array . isArray ( trace . locations ) ) return ;
0 commit comments