@@ -29,18 +29,6 @@ var game_1_y = 1660.16;
29
29
var game_2_x = - 3778.16 ;
30
30
var game_2_y = - 4549.6 ;
31
31
32
-
33
- var game_min_x = - 4000.00 ;
34
- var game_max_x = 6000.00 ;
35
- var game_min_y = 8000.00 ;
36
- var game_max_y = - 4000.00 ;
37
- var map_min_x = 0 ;
38
- var map_min_y = 0 ;
39
-
40
- /*
41
- var rLng = map_1_lng + (x - game_1_x) * (map_1_lng - map_2_lng) / (game_1_x - game_2_x);
42
- var rLat = map_1_lat + (y - game_1_y) * (map_1_lat - map_2_lat) / (game_1_y - game_2_y);
43
- */
44
32
function convertToMap ( x , y ) {
45
33
var h = _MAP_currentLayer . options . tileSize * 3 ,
46
34
w = _MAP_currentLayer . options . tileSize * 2 ;
@@ -56,20 +44,68 @@ function convertToMap(x, y) {
56
44
} ;
57
45
}
58
46
59
- function convertToMapOld ( x , y ) {
60
- var map_max_x = _MAP_currentLayer . options . tileSize * 2 ,
61
- map_max_y = _MAP_currentLayer . options . tileSize * 3 ;
47
+ const singleComment = 1 ;
48
+ const multiComment = 2 ;
49
+ const stripWithoutWhitespace = ( ) => '' ;
50
+ const stripWithWhitespace = ( str , start , end ) => str . slice ( start , end ) . replace ( / \S / g, ' ' ) ;
62
51
63
- var xPercent = normalize ( x , game_min_x , game_max_x ) ;
64
- var destX = xPercent * ( Math . abs ( map_max_x - map_min_x ) ) + map_min_x ;
52
+ function stripJsonOfComments ( str , opts ) {
53
+ opts = opts || { } ;
65
54
66
- var yPercent = normalize ( y , game_min_y , game_max_y ) ;
67
- var destY = yPercent * ( Math . abs ( map_max_y - map_min_y ) ) + map_min_y ;
55
+ const strip = opts . whitespace === false ? stripWithoutWhitespace : stripWithWhitespace ;
68
56
69
- console . log ( convertToMap ( x , y ) ) ;
70
- console . log ( _MAP_map . unproject ( [ destX , destY ] , _MAP_map . getMaxZoom ( ) ) ) ;
71
- return _MAP_map . unproject ( [ destX , destY ] , _MAP_map . getMaxZoom ( ) ) ;
72
- }
57
+ let insideString = false ;
58
+ let insideComment = false ;
59
+ let offset = 0 ;
60
+ let ret = '' ;
61
+
62
+ for ( let i = 0 ; i < str . length ; i ++ ) {
63
+ const currentChar = str [ i ] ;
64
+ const nextChar = str [ i + 1 ] ;
65
+
66
+ if ( ! insideComment && currentChar === '"' ) {
67
+ const escaped = str [ i - 1 ] === '\\' && str [ i - 2 ] !== '\\' ;
68
+ if ( ! escaped ) {
69
+ insideString = ! insideString ;
70
+ }
71
+ }
72
+
73
+ if ( insideString ) {
74
+ continue ;
75
+ }
76
+
77
+ if ( ! insideComment && currentChar + nextChar === '//' ) {
78
+ ret += str . slice ( offset , i ) ;
79
+ offset = i ;
80
+ insideComment = singleComment ;
81
+ i ++ ;
82
+ } else if ( insideComment === singleComment && currentChar + nextChar === '\r\n' ) {
83
+ i ++ ;
84
+ insideComment = false ;
85
+ ret += strip ( str , offset , i ) ;
86
+ offset = i ;
87
+ continue ;
88
+ } else if ( insideComment === singleComment && currentChar === '\n' ) {
89
+ insideComment = false ;
90
+ ret += strip ( str , offset , i ) ;
91
+ offset = i ;
92
+ } else if ( ! insideComment && currentChar + nextChar === '/*' ) {
93
+ ret += str . slice ( offset , i ) ;
94
+ offset = i ;
95
+ insideComment = multiComment ;
96
+ i ++ ;
97
+ continue ;
98
+ } else if ( insideComment === multiComment && currentChar + nextChar === '*/' ) {
99
+ i ++ ;
100
+ insideComment = false ;
101
+ ret += strip ( str , offset , i + 1 ) ;
102
+ offset = i + 1 ;
103
+ continue ;
104
+ }
105
+ }
106
+
107
+ return ret + ( insideComment ? strip ( str . substr ( offset ) ) : str . substr ( offset ) ) ;
108
+ } ;
73
109
74
110
function convertToMapLeaflet ( x , y ) {
75
111
var t = convertToMap ( x , y ) ;
0 commit comments