@@ -102,12 +102,21 @@ var iso3166alpha = [
102102] ;
103103
104104
105- var aliases = "2UK=2UT,2CG=2CT,1GU=GUM,1UM=UMI,1VI=VIR,1AS=ASM,1MP=MNP,4CX=CXR,4CC=CCK,4NF=NFK,4HM=HMD,COL=5CL,5ME=5MX,MEX=5MX,5AG=AGU,5BC=BCN,5BS=BCS,5CM=CAM,5CS=CHP,5CH=CHH,5CO=COA,5DF=DIF,5DG=DUR,5GT=GUA,5GR=GRO,5HG=HID,5JA=JAL,5MI=MIC,5MO=MOR,5NA=NAY,5NL=NLE,5OA=OAX,5PB=PUE,5QE=QUE,5QR=ROO,5SL=SLP,5SI=SIN,5SO=SON,5TB=TAB,5TL=TLA,5VE=VER,5YU=YUC,5ZA=ZAC,811=8BJ,812=8TJ,813=8HE,814=8SX,815=8NM,821=8LN,822=8JL,823=8HL,831=8SH,832=8JS,833=8ZJ,834=8AH,835=8FJ,836=8JX,837=8SD,841=8HA,842=8HB,843=8HN,844=8GD,845=8GX,846=8HI,850=8CQ,851=8SC,852=8GZ,853=8YN,854=8XZ,861=8SN,862=8GS,863=8QH,864=8NX,865=8XJ,871=TWN,891=HKG,892=MAC,8TW=TWN,8HK=HKG,8MC=MAC,BEL=7BE,KIR=7KI,PRI=7PO,CHE=7CH,KHM=7KM,PER=7PM,TAM=7TT,0US=USA,0AU=AUS,0RU=RUS,0CN=CHN,TAA=SHN,ASC=SHN,DGA=IOT,WAK=MHL,JTN=UMI,MID=1HI,1PR=PRI,5TM=TAM,TAM=TAM,2OD=2OR," ;
105+ var aliases = "2UK=2UT,2CG=2CT,1GU=GUM,1UM=UMI,1VI=VIR,1AS=ASM,1MP=MNP,4CX=CXR,4CC=CCK,4NF=NFK,4HM=HMD," +
106+ "COL=5CL,5ME=5MX,MEX=5MX,5AG=AGU,5BC=BCN,5BS=BCS,5CM=CAM,5CS=CHP,5CH=CHH,5CO=COA,5DF=DIF,5DG=DUR," +
107+ "5GT=GUA,5GR=GRO,5HG=HID,5JA=JAL,5MI=MIC,5MO=MOR,5NA=NAY,5NL=NLE,5OA=OAX,5PB=PUE,5QE=QUE,5QR=ROO," +
108+ "5SL=SLP,5SI=SIN,5SO=SON,5TB=TAB,5TL=TLA,5VE=VER,5YU=YUC,5ZA=ZAC,811=8BJ,812=8TJ,813=8HE,814=8SX," +
109+ "815=8NM,821=8LN,822=8JL,823=8HL,831=8SH,832=8JS,833=8ZJ,834=8AH,835=8FJ,836=8JX,837=8SD,841=8HA," +
110+ "842=8HB,843=8HN,844=8GD,845=8GX,846=8HI,850=8CQ,851=8SC,852=8GZ,853=8YN,854=8XZ,861=8SN,862=8GS," +
111+ "863=8QH,864=8NX,865=8XJ,871=TWN,891=HKG,892=MAC,8TW=TWN,8HK=HKG,8MC=MAC,BEL=7BE,KIR=7KI,PRI=7PO," +
112+ "CHE=7CH,KHM=7KM,PER=7PM,TAM=7TT,0US=USA,0AU=AUS,0RU=RUS,0CN=CHN,TAA=SHN,ASC=SHN,DGA=IOT,WAK=MHL," +
113+ "JTN=UMI,MID=1HI,1PR=PRI,5TM=TAM,TAM=TAM,2OD=2OR," ;
106114
107115var dependency = [
108116 27 , 410 , 50 , 410 , 26 , 410 , 53 , 410 , 48 , 410 , 47 , 410 , 76 , 410 , 529 , 410 , 38 , 410 ,
109117 21 , 408 , 4 , 408 , 42 , 408 , 11 , 408 ,
110- 18 , 166 , 14 , 166 , 15 , 166 , 23 , 166 , 32 , 166 , 82 , 166 , 2 , 166 , 17 , 166 , 51 , 166 , 20 , 166 , 19 , 166 , 12 , 166 , 35 , 166 , 70 , 166 , 59 , 166 ,
118+ 18 , 166 , 14 , 166 , 15 , 166 , 23 , 166 , 32 , 166 , 82 , 166 , 2 , 166 , 17 , 166 , 51 , 166 , 20 , 166 , 19 , 166 , 12 , 166 ,
119+ 35 , 166 , 70 , 166 , 59 , 166 ,
111120 61 , 528 , 8 , 528 , 109 , 528 ,
112121 63 , 113 , 265 , 113 ,
113122 198 , 181 ,
@@ -153,7 +162,7 @@ var mapcode_dataversion = "2.3.0";
153162
154163// *************************** mapcode_org *********************
155164
156- var mapcode_javaversion = '2.4.0 /Data' + mapcode_dataversion ;
165+ var mapcode_javaversion = '2.4.1 /Data' + mapcode_dataversion ;
157166
158167/// PRIVATE returns string without leading spaces and plus-signs, and trailing spaces
159168function trim ( str ) {
@@ -401,12 +410,12 @@ function isInRangeX(x, minx, maxx) {
401410
402411/// PRIVATE returns true iff coordinate inside rectangle (all values in millionths)
403412function fitsInside ( coord , mm ) {
404- return ( mm . miny <= coord . y && coord . y < mm . maxy && isInRangeX ( coord . x , mm . minx , mm . maxx ) ) ;
413+ return ( mm . miny <= coord . y && coord . y < mm . maxy && isInRangeX ( coord . x , mm . minx , mm . maxx ) ) ;
405414}
406415
407416/// PRIVATE returns true iff coordinate inside rectangle with some room to spare outside (all values in millionths)
408417function fitsInsideWithRoom ( coord , mm ) {
409- if ( ( ( mm . miny - 60 ) > coord . y ) || ( coord . y >= ( mm . maxy + 60 ) ) ) {
418+ if ( ( ( mm . miny - 60 ) > coord . y ) || ( coord . y >= ( mm . maxy + 60 ) ) ) {
410419 return false ;
411420 }
412421 var xroom = xDivider4 ( mm . miny , mm . maxy ) / 4 ;
@@ -415,7 +424,7 @@ function fitsInsideWithRoom(coord, mm) {
415424
416425/// PRIVATE returns true iff coordinate inside rectangle with some room to spare inside (all values in millionths)
417426function fitsWellInside ( coord , mm ) {
418- if ( ( ( mm . miny + 60 ) > coord . y ) || ( coord . y >= ( mm . maxy - 60 ) ) ) {
427+ if ( ( ( mm . miny + 60 ) > coord . y ) || ( coord . y >= ( mm . maxy - 60 ) ) ) {
419428 return false ;
420429 }
421430 var xroom = xDivider4 ( mm . miny , mm . maxy ) / 4 ;
@@ -448,14 +457,16 @@ function getTerritoryAlphaCode(territory, format) {
448457 }
449458 // shortest POSSIBLE
450459 var parent = getParentOf ( territoryNumber ) ;
460+ var n = full . substr ( hyphen + 1 ) ;
451461 // see if n occurs multiple times, if not, don't bother with parent
452462 var count = 0 ;
453463 var i = aliases . indexOf ( n + '=' ) ;
454464 if ( i >= 0 ) {
455465 count = 2 ;
456466 } else {
457467 for ( i = 0 ; i < iso3166alpha . length ; i ++ ) {
458- if ( iso3166alpha [ i ] . indexOf ( "-" + short ) > 0 ) {
468+ var pos = iso3166alpha [ i ] . indexOf ( "-" + short ) ;
469+ if ( ( pos >= 0 ) && ( iso3166alpha [ i ] . substr ( pos + 1 ) == short ) ) {
459470 count ++ ;
460471 }
461472 }
@@ -467,9 +478,11 @@ function getTerritoryAlphaCode(territory, format) {
467478function dataFirstRecord ( territoryNumber ) {
468479 return data_start [ territoryNumber ] ;
469480}
481+
470482function dataLastRecord ( territoryNumber ) {
471483 return data_start [ ++ territoryNumber ] - 1 ;
472484}
485+
473486function minmaxSetup ( i ) {
474487 var d = data_maxy [ i ] ;
475488 if ( d < 10 ) {
@@ -586,7 +599,7 @@ function decodeSixWide(v, width, height) {
586599 col = maxcol ;
587600 D = width - maxcol * 6 ;
588601 }
589- var w = v - ( col * height * 6 ) ;
602+ var w = v - ( col * height * 6 ) ;
590603 var x6 = col * 6 + ( w % D ) ;
591604 var y6 = height - 1 - Math . floor ( w / D ) ;
592605 return { y : y6 , x : x6 }
@@ -605,6 +618,7 @@ function encodeSixWide(x, y, width, height) {
605618
606619var getDebugInfo ; // caller must set this to 1 to get debug info about first successful encode
607620var mcInfo ;
621+
608622/*
609623 type: 1=topdown nameless, 2=sixwide nameless, 3=regulargrid 4=irregular grid 5=rounded groups 6=unrounded groups
610624 record: rectangle record used to encode
@@ -644,7 +658,7 @@ function encodeExtension(result, enc, extrax4, extray, dividerx4, dividery, extr
644658 var factorx = 810000 * dividerx4 ; // 810000 = 30^4
645659 var factory = 810000 * dividery ;
646660 var valx = ( 810000 * extrax4 ) + ( enc . fraclon ) ;
647- var valy = ( 810000 * extray ) + ( enc . fraclat * ydirection ) ;
661+ var valy = ( 810000 * extray ) + ( enc . fraclat * ydirection ) ;
648662
649663 // protect against floating point errors
650664 if ( valx < 0 ) {
@@ -753,7 +767,7 @@ function wrap(p) {
753767}
754768
755769function convertFractionsToDegrees ( p ) {
756- p . y /= ( 810000 * 1000000 ) ;
770+ p . y /= ( 810000 * 1000000 ) ;
757771 p . x /= ( 3240000 * 1000000 ) ;
758772 return p ;
759773}
@@ -831,7 +845,7 @@ function decodeExtension(extensionchars, coord32, dividerx4, dividery, lon_offse
831845 }
832846
833847 var lon4 = ( coord32 . x * 3240000.0 ) + ( lon32 * dividerx4 ) + ( lon_offset4 * 810000.0 ) ;
834- var lat1 = ( coord32 . y * 810000.0 ) + ( lat32 * dividery ) ;
848+ var lat1 = ( coord32 . y * 810000.0 ) + ( lat32 * dividery ) ;
835849
836850 // determine the range of coordinates that are encode to this mapcode
837851 var mapcodeZone ;
@@ -939,7 +953,7 @@ function decodeGrid(input, extensionchars, m) {
939953 var decodeMaxx = ( ( relx + xgridsize ) < mm . maxx ) ? ( relx + xgridsize ) : mm . maxx ;
940954 var decodeMaxy = ( ( rely + ygridsize ) < mm . maxy ) ? ( rely + ygridsize ) : mm . maxy ;
941955 return decodeExtension ( extensionchars , corner , dividerx << 2 , dividery ,
942- 0 , decodeMaxy , decodeMaxx ) ; // grid
956+ 0 , decodeMaxy , decodeMaxx ) ; // grid
943957}
944958
945959function encodeBase31 ( value , nrchars ) {
@@ -959,15 +973,17 @@ function encodeTriple(difx, dify, dividerx, dividery) {
959973 cx = ( difx % 28 ) ;
960974 cy = ( dify % 34 ) ;
961975 if ( getDebugInfo ) {
962- mcInfo . rectRegion = asDegreeRect ( ( 1000000 * mcInfo . rectSubarea . minx ) + ( ( 28 * rx * dividerx ) ) , ( 1000000 * ( mcInfo . rectSubarea . maxy ) ) - ( ( ( 34 * ry ) + 34 ) * dividery ) , 28 * dividerx , 34 * dividery ) ;
976+ mcInfo . rectRegion = asDegreeRect ( ( 1000000 * mcInfo . rectSubarea . minx ) + ( ( 28 * rx * dividerx ) ) ,
977+ ( 1000000 * ( mcInfo . rectSubarea . maxy ) ) - ( ( ( 34 * ry ) + 34 ) * dividery ) , 28 * dividerx , 34 * dividery ) ;
963978 }
964979 return encodeChar [ ( rx + 6 * ry ) ] + encodeBase31 ( cx * 34 + cy , 2 ) ;
965980 }
966981 else {
967982 rx = Math . floor ( difx / 24 ) ;
968983 cx = ( difx % 24 ) ;
969984 if ( getDebugInfo ) {
970- mcInfo . rectRegion = asDegreeRect ( ( 1000000 * mcInfo . rectSubarea . minx ) + ( 24 * rx * dividerx ) , 1000000 * mcInfo . rectSubarea . miny , 24 * dividerx , 40 * dividery ) ;
985+ mcInfo . rectRegion = asDegreeRect ( ( 1000000 * mcInfo . rectSubarea . minx ) + ( 24 * rx * dividerx ) ,
986+ 1000000 * mcInfo . rectSubarea . miny , 24 * dividerx , 40 * dividery ) ;
971987 }
972988 return encodeChar [ rx + 24 ] + encodeBase31 ( cx * 40 + ( dify - 136 ) , 2 ) ;
973989 }
@@ -1055,7 +1071,8 @@ function encodeGrid(enc, m, mm, headerletter, extraDigits) {
10551071 }
10561072
10571073 if ( getDebugInfo && prefixlength == 4 && divx == 961 && divy == 961 ) {
1058- mcInfo . rectZone = asDegreeRect ( mm . minx + 31 * xgridsize * Math . floor ( relx / 31 ) , mm . miny + 31 * ygridsize * Math . floor ( rely / 31 ) , xgridsize * 31 , ygridsize * 31 ) ;
1074+ mcInfo . rectZone = asDegreeRect ( mm . minx + 31 * xgridsize * Math . floor ( relx / 31 ) ,
1075+ mm . miny + 31 * ygridsize * Math . floor ( rely / 31 ) , xgridsize * 31 , ygridsize * 31 ) ;
10591076 }
10601077
10611078 rely = mm . miny + ( rely * ygridsize ) ;
@@ -1078,7 +1095,8 @@ function encodeGrid(enc, m, mm, headerletter, extraDigits) {
10781095
10791096 if ( getDebugInfo ) {
10801097 mcInfo . rectSubarea = asDegreeRect ( relx , rely , dividerx * xside [ postfixlength ] , dividery * yside [ postfixlength ] ) ;
1081- mcInfo . rectCell = asDegreeRect ( ( relx + difx * dividerx ) , ( rely + ( yside [ postfixlength ] - 1 - dify ) * dividery ) , dividerx , dividery ) ;
1098+ mcInfo . rectCell = asDegreeRect ( ( relx + difx * dividerx ) , ( rely + ( yside [ postfixlength ] - 1 - dify ) * dividery ) ,
1099+ dividerx , dividery ) ;
10821100 mcInfo . form += ( postfixlength == 2 ? 'pp' : ( postfixlength == 3 ? 'ppp' : 'pppp' ) ) ;
10831101 mcInfo . postfixType = postfixlength ;
10841102 }
@@ -1091,7 +1109,8 @@ function encodeGrid(enc, m, mm, headerletter, extraDigits) {
10911109 if ( postfixlength == 4 ) {
10921110 postfix = postfix . charAt ( 0 ) + postfix . charAt ( 2 ) + postfix . charAt ( 1 ) + postfix . charAt ( 3 ) ;
10931111 if ( getDebugInfo ) {
1094- mcInfo . rectRegion = asDegreeRect ( relx + ( 31 * Math . floor ( difx / 31 ) * dividerx ) , rely + ( 31 * Math . floor ( ( yside [ postfixlength ] - 1 - dify ) / 31 ) * dividery ) , 31 * dividerx , 31 * dividery ) ;
1112+ mcInfo . rectRegion = asDegreeRect ( relx + ( 31 * Math . floor ( difx / 31 ) * dividerx ) ,
1113+ rely + ( 31 * Math . floor ( ( yside [ postfixlength ] - 1 - dify ) / 31 ) * dividery ) , 31 * dividerx , 31 * dividery ) ;
10951114 }
10961115 }
10971116 result += postfix ;
@@ -1329,29 +1348,37 @@ function headerLetter(i) {
13291348 }
13301349 return '' ;
13311350}
1351+
13321352function smartdiv ( i ) {
13331353 return data_special1 [ i ] ;
13341354}
1355+
13351356function isRestricted ( i ) {
13361357 return data_flags [ i ] & 512 ;
13371358}
1359+
13381360function isNameless ( i ) {
13391361 return data_flags [ i ] & 64 ;
13401362}
1363+
13411364function isAutoHeader ( i ) {
13421365 return data_flags [ i ] & ( 8 << 5 ) ;
13431366}
1367+
13441368function codexLen ( i ) {
13451369 var flags = data_flags [ i ] & 31 ;
13461370 return Math . floor ( flags / 5 ) + ( flags % 5 ) + 1 ;
13471371}
1372+
13481373function coDex ( i ) {
13491374 var flags = data_flags [ i ] & 31 ;
13501375 return 10 * Math . floor ( flags / 5 ) + ( flags % 5 ) + 1 ;
13511376}
1377+
13521378function isSpecialShape ( i ) {
13531379 return data_flags [ i ] & 1024 ;
13541380}
1381+
13551382function recType ( i ) {
13561383 return ( ( data_flags [ i ] >> 7 ) & 3 ) ; // 1=pipe 2=plus 3=star
13571384}
@@ -1397,7 +1424,7 @@ function encodeNameless(enc, m, firstcode, extraDigits) {
13971424 storage_offset = X * ( 961 * 961 ) ;
13981425 }
13991426 else {
1400- storage_offset = ( 62 - A + Math . floor ( ( X - 62 + A ) / 2 ) ) * ( 961 * 961 ) ;
1427+ storage_offset = ( 62 - A + Math . floor ( ( X - 62 + A ) / 2 ) ) * ( 961 * 961 ) ;
14011428 if ( ( ( X + A ) % 2 ) == 1 ) {
14021429 storage_offset += ( 16 * 961 * 31 ) ;
14031430 }
@@ -1467,7 +1494,8 @@ function encodeNameless(enc, m, firstcode, extraDigits) {
14671494 mcInfo . headerletter = encodeChar [ storage_offset / ( 961 * 961 ) ] ;
14681495 mcInfo . postfixType = 2 ;
14691496 mcInfo . regular = true ;
1470- mcInfo . rectRegion = asDegreeRect ( ( mm . minx + ( 31 * Math . floor ( dx / 31 ) * dividerx4 / 4 ) ) , mm . maxy - ( 31 * dividery ) * ( 1 + Math . floor ( dy / 31 ) ) , 31 * dividerx4 / 4 , 31 * dividery ) ;
1497+ mcInfo . rectRegion = asDegreeRect ( ( mm . minx + ( 31 * Math . floor ( dx / 31 ) * dividerx4 / 4 ) ) ,
1498+ mm . maxy - ( 31 * dividery ) * ( 1 + Math . floor ( dy / 31 ) ) , 31 * dividerx4 / 4 , 31 * dividery ) ;
14711499 }
14721500 result = result . charAt ( 0 ) + result . charAt ( 1 ) + result . charAt ( 3 ) + '.' + result . charAt ( 2 ) + result . charAt ( 4 ) ;
14731501 } else if ( codex == 13 ) {
@@ -1542,7 +1570,7 @@ function decodeNameless(input, extensionchars, m, firstindex) {
15421570 v = decodeBase31 ( input ) ;
15431571
15441572 if ( X > 0 ) {
1545- v -= ( ( X * p + ( X < r ? X : r ) ) * ( 961 * 961 ) ) ;
1573+ v -= ( ( X * p + ( X < r ? X : r ) ) * ( 961 * 961 ) ) ;
15461574 }
15471575 }
15481576 else if ( codex != 21 && A < 62 ) {
@@ -1593,7 +1621,7 @@ function decodeNameless(input, extensionchars, m, firstindex) {
15931621 x : mm . minx + Math . floor ( ( dx * dividerx4 ) / 4 )
15941622 } ;
15951623 return decodeExtension ( extensionchars , corner , dividerx4 , - dividery ,
1596- ( ( dx * dividerx4 ) % 4 ) , mm . miny , mm . maxx ) ; // nameless
1624+ ( ( dx * dividerx4 ) % 4 ) , mm . miny , mm . maxx ) ; // nameless
15971625}
15981626
15991627function encodeAutoHeader ( enc , m , extraDigits ) {
@@ -1612,7 +1640,7 @@ function encodeAutoHeader(enc, m, extraDigits) {
16121640 var mm = minmaxSetup ( i ) ;
16131641 var H = Math . floor ( ( mm . maxy - mm . miny + 89 ) / 90 ) ;
16141642 var xdiv = xDivider4 ( mm . miny , mm . maxy ) ;
1615- var W = Math . floor ( ( ( mm . maxx - mm . minx ) * 4 + ( xdiv - 1 ) ) / xdiv ) ;
1643+ var W = Math . floor ( ( ( mm . maxx - mm . minx ) * 4 + ( xdiv - 1 ) ) / xdiv ) ;
16161644
16171645 H = 176 * Math . floor ( ( H + 176 - 1 ) / 176 ) ;
16181646 W = 168 * Math . floor ( ( W + 168 - 1 ) / 168 ) ;
@@ -1653,11 +1681,14 @@ function encodeAutoHeader(enc, m, extraDigits) {
16531681 mcInfo . dotPosition = codexlen - 2 ;
16541682 mcInfo . prefixDivx = Math . floor ( W / 168 ) ;
16551683 mcInfo . prefixDivy = Math . floor ( H / 176 ) ;
1656- mcInfo . rectSubarea = asDegreeRect ( mm . minx + ( vx * 168 ) * dividerx , mm . maxy - ( ( vy + 1 ) * 176 ) * dividery , 168 * dividerx , 176 * dividery ) ;
1657- mcInfo . rectCell = asDegreeRect ( mm . minx + ( vx * 168 + spx ) * dividerx , mm . maxy - ( ( vy ) * 176 + spy + 1 ) * dividery , dividerx , dividery ) ;
1684+ mcInfo . rectSubarea = asDegreeRect ( mm . minx + ( vx * 168 ) * dividerx , mm . maxy - ( ( vy + 1 ) * 176 ) * dividery ,
1685+ 168 * dividerx , 176 * dividery ) ;
1686+ mcInfo . rectCell = asDegreeRect ( mm . minx + ( vx * 168 + spx ) * dividerx , mm . maxy - ( ( vy ) * 176 + spy + 1 ) * dividery ,
1687+ dividerx , dividery ) ;
16581688 }
16591689
1660- var mapc = encodeBase31 ( Math . floor ( STORAGE_START / ( 961 * 31 ) ) + value , codexlen - 2 ) + '.' + encodeTriple ( spx , spy , dividerx , dividery ) ;
1690+ var mapc = encodeBase31 ( Math . floor ( STORAGE_START / ( 961 * 31 ) ) + value , codexlen - 2 ) + '.' +
1691+ encodeTriple ( spx , spy , dividerx , dividery ) ;
16611692
16621693 return encodeExtension ( mapc , enc , extrax << 2 , extray , dividerx << 2 , dividery , extraDigits , - 1 ) ;
16631694 }
@@ -1680,7 +1711,7 @@ function decodeAutoHeader(input, extensionchars, m) {
16801711
16811712 var H = Math . floor ( ( mm . maxy - mm . miny + 89 ) / 90 ) ;
16821713 var xdiv = xDivider4 ( mm . miny , mm . maxy ) ;
1683- var W = Math . floor ( ( ( mm . maxx - mm . minx ) * 4 + ( xdiv - 1 ) ) / xdiv ) ;
1714+ var W = Math . floor ( ( ( mm . maxx - mm . minx ) * 4 + ( xdiv - 1 ) ) / xdiv ) ;
16841715
16851716 H = 176 * Math . floor ( ( H + 176 - 1 ) / 176 ) ;
16861717 W = 168 * Math . floor ( ( W + 168 - 1 ) / 168 ) ;
@@ -1712,7 +1743,7 @@ function decodeAutoHeader(input, extensionchars, m) {
17121743 }
17131744
17141745 return decodeExtension ( extensionchars , corner , dividerx << 2 , - dividery ,
1715- 0 , mm . miny , mm . maxx ) ; // autoheader
1746+ 0 , mm . miny , mm . maxx ) ; // autoheader
17161747 }
17171748 STORAGE_START += product ;
17181749 }
@@ -2087,7 +2118,8 @@ function master_decode(mapcode, territoryNumber) // returns object with y and x
20872118 zone = decodeGrid ( mapcode . substr ( 1 ) , extensionchars , m ) ;
20882119 break ;
20892120 }
2090- else if ( isNameless ( m ) && ( ( codex == 21 && incodex == 22 ) || ( codex == 22 && incodex == 32 ) || ( codex == 13 && incodex == 23 ) ) ) {
2121+ else if ( isNameless ( m ) && ( ( codex == 21 && incodex == 22 ) || ( codex == 22 && incodex == 32 ) ||
2122+ ( codex == 13 && incodex == 23 ) ) ) {
20912123 zone = decodeNameless ( mapcode , extensionchars , m , from ) ;
20922124 break ;
20932125 }
@@ -2110,15 +2142,19 @@ function master_decode(mapcode, territoryNumber) // returns object with y and x
21102142function hasStates ( territoryNumber ) {
21112143 return hasSubdivision ( territoryNumber ) ;
21122144}
2145+
21132146function isState ( territoryNumber ) {
21142147 return isSubdivision ( territoryNumber ) ;
21152148}
2149+
21162150function StateParent ( territoryNumber ) {
21172151 return getParentOf ( territoryNumber ) ;
21182152}
2153+
21192154function ccode2iso ( territoryNumber , format ) {
21202155 return getTerritoryAlphaCode ( territoryNumber , format ) ;
21212156}
2157+
21222158function fullname ( territoryNumber , keepindex ) {
21232159 if ( keepindex ) {
21242160 return isofullname [ territoryNumber ] ;
0 commit comments