@@ -23,7 +23,7 @@ module.exports = function (item, deps) {
23
23
var labelLen = getLabelLen ( item . tags )
24
24
var buf = Buffer . alloc ( 9 + typeLen + idLen + labelLen )
25
25
var offset = 0
26
- buf . writeUInt8 ( 0x01 , offset )
26
+ buf . writeUInt8 ( 0x01 , offset )
27
27
offset += 1
28
28
varint . encode ( type , buf , offset )
29
29
offset += varint . encode . bytes
@@ -47,16 +47,11 @@ module.exports = function (item, deps) {
47
47
coords . push ( deps [ ref ] . lat )
48
48
} )
49
49
var cells = earcut ( coords )
50
- var coords = [ ]
51
- item . refs . forEach ( function ( ref ) {
52
- coords . push ( deps [ ref ] . lon )
53
- coords . push ( deps [ ref ] . lat )
54
- } )
55
- var cells = earcut ( coords )
56
- var cLen = varint . encodingLength ( earcut . length / 3 )
50
+ var cLen = varint . encodingLength ( cells . length / 3 )
51
+ var cLenData = cells . reduce ( ( acc , cell ) => acc + varint . encodingLength ( cell ) , 0 )
57
52
var labelLen = getLabelLen ( item . tags )
58
53
var buf = Buffer . alloc ( 1 + typeLen + idLen + pCount + cLen + n * 4 * 2
59
- + ( n - 2 ) * 3 * 2 + labelLen )
54
+ + cLenData + labelLen )
60
55
var offset = 0
61
56
buf . writeUInt8 ( 0x03 , 0 )
62
57
offset += 1
@@ -74,8 +69,8 @@ module.exports = function (item, deps) {
74
69
} )
75
70
varint . encode ( cells . length / 3 , buf , offset )
76
71
offset += varint . encode . bytes
77
- cells . forEach ( function ( item ) {
78
- varint . encode ( item , buf , offset )
72
+ cells . forEach ( function ( cell ) {
73
+ varint . encode ( cell , buf , offset )
79
74
offset += varint . encode . bytes
80
75
} )
81
76
writeLabelData ( item . tags , buf , offset )
@@ -117,7 +112,7 @@ function getLabelLen (tags) {
117
112
if ( ! / ^ ( [ ^ : ] + _ | ) n a m e ( $ | : ) / . test ( key ) ) { return }
118
113
var pre = key . replace ( / ^ ( | [ ^ : ] + _ ) n a m e ( $ | : ) / , '' )
119
114
var dataLen = Buffer . byteLength ( pre ) + 1
120
- + Buffer . byteLength ( tags [ key ] )
115
+ + Buffer . byteLength ( tags [ key ] )
121
116
labelLen += varint . encodingLength ( dataLen ) + dataLen
122
117
} )
123
118
return labelLen
0 commit comments