const codes = "0123456789abcdefghijkmnpqrstuvwxyz"; function __decode(pch: any) { let v = 0; for (let i = 3; i >= 0; --i) v = v * 34 + codes.indexOf(pch.charAt(i)); v = (v * 250) / 9; return v; } function __encode(v: any) { let pch = ""; v = (v * 9) / 250; for (let i = 0; i < 4; ++i) { pch += codes.charAt(v % 34); v /= 34; } return pch; } export default { DecodeLon(k: any) { let lon = __decode(k.substring(1, 5)); if (k.charAt(0) == "5" || k.charAt(0) == "8") lon += 35000000; lon += 70000000; return lon / 1000000.0; }, DecodeLat(k: any) { let lat = __decode(k.substring(5, 9)); if (k.charAt(0) <= "6") lat += 35000000; lat += 5000000; return lat / 1000000.0; }, Encode(_lat: any, _lon: any) { let lat = parseInt(_lat * 1000000 + ""); let lon = parseInt(_lon * 1000000 + ""); let k; lon -= 70000000; lat -= 5000000; if (lat > 35000000) if (lon <= 35000000) k = "6"; else k = "5"; else if (lon <= 35000000) k = "7"; else k = "8"; if (lon > 35000000) lon -= 35000000; if (lat > 35000000) lat -= 35000000; k += __encode(lon); k += __encode(lat); return k; }, };