|
12 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | 13 | * See the License for the specific language governing permissions and |
14 | 14 | * limitations under the License. |
15 | | - */ |
16 | | - |
| 15 | + */ |
17 | 16 | var entity_iso = [ |
18 | | - 'VAT', 'MCO', 'GIB', 'TKL', 'CCK', 'BLM', 'NRU', 'TUV', 'MAC', 'SXM', |
19 | | - 'MAF', 'NFK', 'PCN', 'BVT', 'BMU', 'IOT', 'SMR', 'GGY', 'AIA', 'MSR', |
20 | | - 'JEY', 'CXR', 'WLF', 'VGB', 'LIE', 'ABW', 'MHL', 'ASM', 'COK', 'SPM', |
21 | | - 'NIU', 'KNA', 'CYM', 'BES', 'MDV', 'SHN', 'MLT', 'GRD', 'VIR', 'MYT', |
22 | | - 'SJM', 'VCT', 'HMD', 'BRB', 'ATG', 'CUW', 'SYC', 'PLW', 'MNP', 'AND', |
23 | | - 'GUM', 'IMN', 'LCA', 'FSM', 'SGP', 'TON', 'DMA', 'BHR', 'KIR', 'TCA', |
24 | | - 'STP', 'HKG', 'MTQ', 'FRO', 'GLP', 'COM', 'MUS', 'REU', 'LUX', 'WSM', |
25 | | - 'SGS', 'PYF', 'CPV', 'TTO', 'BRN', 'ATF', 'PRI', 'CYP', 'LBN', 'JAM', |
26 | | - 'GMB', 'QAT', 'FLK', 'VUT', 'MNE', 'BHS', 'TLS', 'SWZ', 'KWT', 'FJI', |
27 | | - 'NCL', 'SVN', 'ISR', 'PSE', 'SLV', 'BLZ', 'DJI', 'MKD', 'RWA', 'HTI', |
28 | | - 'BDI', 'GNQ', 'ALB', 'SLB', 'ARM', 'LSO', 'BEL', 'MDA', 'GNB', 'TWN', |
29 | | - 'BTN', 'CHE', 'NLD', 'DNK', 'EST', 'DOM', 'SVK', 'CRI', 'BIH', 'HRV', |
30 | | - 'TGO', 'LVA', 'LTU', 'LKA', 'GEO', 'IRL', 'SLE', 'PAN', 'CZE', 'GUF', |
31 | | - 'ARE', 'AUT', 'AZE', 'SRB', 'JOR', 'PRT', 'HUN', 'KOR', 'ISL', 'GTM', |
32 | | - 'CUB', 'BGR', 'LBR', 'HND', 'BEN', 'ERI', 'MWI', 'PRK', 'NIC', 'GRC', |
33 | | - 'TJK', 'BGD', 'NPL', 'TUN', 'SUR', 'URY', 'KHM', 'SYR', 'SEN', 'KGZ', |
34 | | - 'BLR', 'GUY', 'LAO', 'ROU', 'GHA', 'UGA', 'GBR', 'GIN', 'ECU', 'ESH', |
35 | | - 'GAB', 'NZL', 'BFA', 'PHL', 'ITA', 'OMN', 'POL', 'CIV', 'NOR', 'MYS', |
36 | | - 'VNM', 'FIN', 'COG', 'DEU', 'JPN', 'ZWE', 'PRY', 'IRQ', 'MAR', 'UZB', |
37 | | - 'SWE', 'PNG', 'CMR', 'TKM', 'ESP', 'THA', 'YEM', 'FRA', 'ALA', 'KEN', |
38 | | - 'BWA', 'MDG', 'UKR', 'SSD', 'CAF', 'SOM', 'AFG', 'MMR', 'ZMB', 'CHL', |
39 | | - 'TUR', 'PAK', 'MOZ', 'NAM', 'VEN', 'NGA', 'TZA', 'EGY', 'MRT', 'BOL', |
40 | | - 'ETH', 'COL', 'ZAF', 'MLI', 'AGO', 'NER', 'TCD', 'PER', 'MNG', 'IRN', |
41 | | - 'LBY', 'SDN', 'IDN', 'DIF', 'TLA', 'MOR', 'AGU', '5CL', 'QUE', 'HID', |
42 | | - '5MX', 'TAB', 'NAY', 'GUA', 'PUE', 'YUC', 'ROO', 'SIN', 'CAM', 'MIC', |
43 | | - 'SLP', 'GRO', 'NLE', 'BCN', 'VER', 'CHP', 'BCS', 'ZAC', 'JAL', 'TAM', |
44 | | - 'OAX', 'DUR', 'COA', 'SON', 'CHH', 'GRL', 'SAU', 'COD', 'DZA', 'KAZ', |
45 | | - 'ARG', '2DD', '2DN', '2CH', '2AN', '2LD', '2DL', '2ML', '2NL', '2MN', |
46 | | - '2TR', '2MZ', '2SK', '2PB', '2HR', '2AR', '2AS', '2BR', '2UT', '2GA', |
47 | | - '2KL', '2TN', '2HP', '2JK', '2CT', '2JH', '2KA', '2RJ', '2OR', '2GJ', |
48 | | - '2WB', '2MP', '2TG', '2AP', '2MH', '2UP', '2PY', 'NSW', 'ACT', 'JBT', |
49 | | - '4NT', '4SA', 'TAS', 'VIC', '4WA', 'QLD', '6DF', '6SE', '6AL', '6RJ', |
50 | | - '6ES', '6RN', '6PB', '6SC', '6PE', '6AP', '6CE', '6AC', '6PR', '6RR', |
51 | | - '6RO', '6SP', '6PI', '6TO', '6RS', '6MA', '6GO', '6MS', '6BA', '6MG', |
52 | | - '6MT', '6PA', '6AM', '1DC', '1RI', '1DE', '1CT', '1NJ', '1NH', '1VT', |
53 | | - '1MA', '1HI', '1MD', '1WV', '1SC', '1ME', '1IN', '1KY', '1TN', '1VA', |
54 | | - '1OH', '1PA', '1MS', '1LA', '1AL', '1AR', '1NC', '1NY', '1IA', '1IL', |
55 | | - '1GA', '1WI', '1FL', '1MO', '1OK', '1ND', '1WA', '1SD', '1NE', '1KS', |
56 | | - '1ID', '1UT', '1MN', '1MI', '1WY', '1OR', '1CO', '1NV', '1AZ', '1NM', |
57 | | - '1MT', '1CA', '1TX', '1AK', '3BC', '3AB', '3ON', '3QC', '3SK', '3MB', |
58 | | - '3NL', '3NB', '3NS', '3PE', '3YT', '3NT', '3NU', 'IND', 'AUS', 'BRA', |
59 | | - 'USA', 'MEX', 'MOW', 'SPE', 'KGD', '7IN', '7AD', '7SE', '7KB', '7KC', |
60 | | - '7CE', '7CU', 'IVA', 'LIP', 'ORL', 'TUL', '7BE', 'VLA', 'KRS', 'KLU', |
61 | | - '7TT', 'BRY', 'YAR', 'RYA', 'AST', 'MOS', 'SMO', '7DA', 'VOR', 'NGR', |
62 | | - 'PSK', 'KOS', 'STA', 'KDA', '7KL', 'TVE', 'LEN', 'ROS', 'VGG', 'VLG', |
63 | | - 'MUR', '7KR', 'NEN', '7KO', 'ARK', '7MO', 'NIZ', 'PNZ', '7KI', '7ME', |
64 | | - 'ORE', 'ULY', '7PM', '7BA', '7UD', '7TA', 'SAM', 'SAR', 'YAN', '7KM', |
65 | | - 'SVE', 'TYU', 'KGN', '7CH', '7BU', 'ZAB', 'IRK', 'NVS', 'TOM', 'OMS', |
66 | | - '7KK', 'KEM', '7AL', 'ALT', '7TY', 'KYA', 'MAG', 'CHU', 'KAM', 'SAK', |
67 | | - '7PO', 'YEV', 'KHA', 'AMU', '7SA', 'CAN', 'RUS', '8SH', '8TJ', '8BJ', |
68 | | - '8HI', '8NX', '8CQ', '8ZJ', '8JS', '8FJ', '8AH', '8LN', '8SD', '8SX', |
69 | | - '8JX', '8HA', '8GZ', '8GD', '8HB', '8JL', '8HE', '8SN', '8NM', '8HL', |
70 | | - '8HN', '8GX', '8SC', '8YN', '8XZ', '8GS', '8QH', '8XJ', 'CHN', 'UMI', |
71 | | - 'CPT', 'ATA', 'AAA', '?']; |
| 17 | + 'VAT','MCO','GIB','TKL','CCK','BLM','NRU','TUV','MAC','SXM', |
| 18 | + 'MAF','NFK','PCN','BVT','BMU','IOT','SMR','GGY','AIA','MSR', |
| 19 | + 'JEY','CXR','WLF','VGB','LIE','ABW','MHL','ASM','COK','SPM', |
| 20 | + 'NIU','KNA','CYM','BES','MDV','SHN','MLT','GRD','VIR','MYT', |
| 21 | + 'SJM','VCT','HMD','BRB','ATG','CUW','SYC','PLW','MNP','AND', |
| 22 | + 'GUM','IMN','LCA','FSM','SGP','TON','DMA','BHR','KIR','TCA', |
| 23 | + 'STP','HKG','MTQ','FRO','GLP','COM','MUS','REU','LUX','WSM', |
| 24 | + 'SGS','PYF','CPV','TTO','BRN','ATF','PRI','CYP','LBN','JAM', |
| 25 | + 'GMB','QAT','FLK','VUT','MNE','BHS','TLS','SWZ','KWT','FJI', |
| 26 | + 'NCL','SVN','ISR','PSE','SLV','BLZ','DJI','MKD','RWA','HTI', |
| 27 | + 'BDI','GNQ','ALB','SLB','ARM','LSO','BEL','MDA','GNB','TWN', |
| 28 | + 'BTN','CHE','NLD','DNK','EST','DOM','SVK','CRI','BIH','HRV', |
| 29 | + 'TGO','LVA','LTU','LKA','GEO','IRL','SLE','PAN','CZE','GUF', |
| 30 | + 'ARE','AUT','AZE','SRB','JOR','PRT','HUN','KOR','ISL','GTM', |
| 31 | + 'CUB','BGR','LBR','HND','BEN','ERI','MWI','PRK','NIC','GRC', |
| 32 | + 'TJK','BGD','NPL','TUN','SUR','URY','KHM','SYR','SEN','KGZ', |
| 33 | + 'BLR','GUY','LAO','ROU','GHA','UGA','GBR','GIN','ECU','ESH', |
| 34 | + 'GAB','NZL','BFA','PHL','ITA','OMN','POL','CIV','NOR','MYS', |
| 35 | + 'VNM','FIN','COG','DEU','JPN','ZWE','PRY','IRQ','MAR','UZB', |
| 36 | + 'SWE','PNG','CMR','TKM','ESP','THA','YEM','FRA','ALA','KEN', |
| 37 | + 'BWA','MDG','UKR','SSD','CAF','SOM','AFG','MMR','ZMB','CHL', |
| 38 | + 'TUR','PAK','MOZ','NAM','VEN','NGA','TZA','EGY','MRT','BOL', |
| 39 | + 'ETH','COL','ZAF','MLI','AGO','NER','TCD','PER','MNG','IRN', |
| 40 | + 'LBY','SDN','IDN','DIF','TLA','MOR','AGU','5CL','QUE','HID', |
| 41 | + '5MX','TAB','NAY','GUA','PUE','YUC','ROO','SIN','CAM','MIC', |
| 42 | + 'SLP','GRO','NLE','BCN','VER','CHP','BCS','ZAC','JAL','TAM', |
| 43 | + 'OAX','DUR','COA','SON','CHH','GRL','SAU','COD','DZA','KAZ', |
| 44 | + 'ARG','2DD','2DN','2CH','2AN','2LD','2DL','2ML','2NL','2MN', |
| 45 | + '2TR','2MZ','2SK','2PB','2HR','2AR','2AS','2BR','2UT','2GA', |
| 46 | + '2KL','2TN','2HP','2JK','2CT','2JH','2KA','2RJ','2OR','2GJ', |
| 47 | + '2WB','2MP','2TG','2AP','2MH','2UP','2PY','NSW','ACT','JBT', |
| 48 | + '4NT','4SA','TAS','VIC','4WA','QLD','6DF','6SE','6AL','6RJ', |
| 49 | + '6ES','6RN','6PB','6SC','6PE','6AP','6CE','6AC','6PR','6RR', |
| 50 | + '6RO','6SP','6PI','6TO','6RS','6MA','6GO','6MS','6BA','6MG', |
| 51 | + '6MT','6PA','6AM','1DC','1RI','1DE','1CT','1NJ','1NH','1VT', |
| 52 | + '1MA','1HI','1MD','1WV','1SC','1ME','1IN','1KY','1TN','1VA', |
| 53 | + '1OH','1PA','1MS','1LA','1AL','1AR','1NC','1NY','1IA','1IL', |
| 54 | + '1GA','1WI','1FL','1MO','1OK','1ND','1WA','1SD','1NE','1KS', |
| 55 | + '1ID','1UT','1MN','1MI','1WY','1OR','1CO','1NV','1AZ','1NM', |
| 56 | + '1MT','1CA','1TX','1AK','3BC','3AB','3ON','3QC','3SK','3MB', |
| 57 | + '3NL','3NB','3NS','3PE','3YT','3NT','3NU','IND','AUS','BRA', |
| 58 | + 'USA','MEX','MOW','SPE','KGD','7IN','7AD','7SE','7KB','7KC', |
| 59 | + '7CE','7CU','IVA','LIP','ORL','TUL','7BE','VLA','KRS','KLU', |
| 60 | + '7TT','BRY','YAR','RYA','AST','MOS','SMO','7DA','VOR','NGR', |
| 61 | + 'PSK','KOS','STA','KDA','7KL','TVE','LEN','ROS','VGG','VLG', |
| 62 | + 'MUR','7KR','NEN','7KO','ARK','7MO','NIZ','PNZ','7KI','7ME', |
| 63 | + 'ORE','ULY','7PM','7BA','7UD','7TA','SAM','SAR','YAN','7KM', |
| 64 | + 'SVE','TYU','KGN','7CH','7BU','ZAB','IRK','NVS','TOM','OMS', |
| 65 | + '7KK','KEM','7AL','ALT','7TY','KYA','MAG','CHU','KAM','SAK', |
| 66 | + '7PO','YEV','KHA','AMU','7SA','CAN','RUS','8SH','8TJ','8BJ', |
| 67 | + '8HI','8NX','8CQ','8ZJ','8JS','8FJ','8AH','8LN','8SD','8SX', |
| 68 | + '8JX','8HA','8GZ','8GD','8HB','8JL','8HE','8SN','8NM','8HL', |
| 69 | + '8HN','8GX','8SC','8YN','8XZ','8GS','8QH','8XJ','CHN','UMI', |
| 70 | + 'CPT','ATA','AAA', '?']; |
72 | 71 |
|
73 | 72 | 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,"; |
74 | 73 |
|
@@ -117,11 +116,11 @@ var parents2 = "US,IN,CA,AU,MX,BR,RU,CN,"; |
117 | 116 |
|
118 | 117 | var ccode_start = 112; // NLD |
119 | 118 | var mapcode_cversion = "2.0.2"; |
120 | | -var mapcode_dataversion = "2.0"; |
| 119 | +var mapcode_dataversion = "2.2"; |
121 | 120 |
|
122 | 121 | // *************************** mapcode_org ********************* |
123 | 122 |
|
124 | | -var mapcode_javaversion = '2.1.4/Data2.0'; |
| 123 | +var mapcode_javaversion = '2.2/Data'+mapcode_dataversion; |
125 | 124 |
|
126 | 125 | /// PRIVATE returns string without leading spaces and plus-signs, and trailing spaces |
127 | 126 | function trim(str) { |
@@ -681,6 +680,14 @@ function convertFractionsToCoord32(p) { |
681 | 680 | return p; |
682 | 681 | } |
683 | 682 |
|
| 683 | +function wrap(p) { |
| 684 | + if (p.x >= (180 * 3240000 * 1000000)) |
| 685 | + p.x -= (360 * 3240000 * 1000000); |
| 686 | + if (p.x < (-180 * 3240000 * 1000000)) |
| 687 | + p.x += (360 * 3240000 * 1000000); |
| 688 | + return p; |
| 689 | +} |
| 690 | + |
684 | 691 | function convertFractionsToDegrees(p) { |
685 | 692 | p.y /= ( 810000 * 1000000); |
686 | 693 | p.x /= (3240000 * 1000000); |
@@ -1870,9 +1877,7 @@ function master_decode(mapcode, territoryNumber) // returns object with y and x |
1870 | 1877 | zone = decodeGrid(mapcode, extensionchars, '', m); |
1871 | 1878 |
|
1872 | 1879 | // first of all, make sure the zone fits the country |
1873 | | - if (!mzIsEmpty(zone) && territoryNumber != ccode_earth) { |
1874 | | - zone = mzRestrictZoneTo(zone, minmaxSetup(upto)); |
1875 | | - } |
| 1880 | + zone = mzRestrictZoneTo(zone, minmaxSetup(upto)); |
1876 | 1881 |
|
1877 | 1882 | if (!mzIsEmpty(zone) && isRestricted(m)) { |
1878 | 1883 | var nrZoneOverlaps = 0; |
@@ -1932,14 +1937,12 @@ function master_decode(mapcode, territoryNumber) // returns object with y and x |
1932 | 1937 | } |
1933 | 1938 | } |
1934 | 1939 |
|
1935 | | - if (territoryNumber != ccode_earth) { |
1936 | | - zone = mzRestrictZoneTo(zone, minmaxSetup(upto)); |
1937 | | - } |
| 1940 | + zone = mzRestrictZoneTo(zone, minmaxSetup(upto)); |
1938 | 1941 | if (mzIsEmpty(zone)) { |
1939 | 1942 | return false; |
1940 | 1943 | } |
1941 | 1944 |
|
1942 | | - return convertFractionsToDegrees(mzMidPointFractions(zone)); |
| 1945 | + return convertFractionsToDegrees(wrap(mzMidPointFractions(zone))); |
1943 | 1946 | } |
1944 | 1947 |
|
1945 | 1948 | // ******************** legacy interface ***************** |
|
0 commit comments