[转]MapAbc中坐标的加密和解密

http://xying.spaces.live.com/Blog/cns!C20F968B904CD5D6!176.entry

//MapAbc中使用编码坐标与10进度方式的坐标转换js方法,仅供参考

    var __keys__ = [[0, 2, 1, 2, 8, 9, 4, 1, 7, 2, 5, 3, 9], [0, 3, 2, 2, 9, 5, 8, 2, 6, 8, 4, 6, 3], [1, 5, 2, 7, 1, 4, 7, 2, 4, 1, 4, 3, 0], [0, 7, 8, 3, 4, 9, 0, 6, 7, 7, 4, 4, 2], [0, 2, 1, 8, 4, 9, 3, 2, 3, 1, 5, 7, 8], [0, 0, 9, 5, 4, 7, 3, 0, 8, 7, 5, 2, 8], [0, 1, 5, 1, 1, 8, 2, 7, 1, 9, 1, 3, 5], [0, 5, 2, 5, 6, 0, 3, 4, 6, 7, 1, 3, 5], [1, 3, 2, 1, 8, 1, 8, 3, 7, 9, 2, 7, 0], [1, 2, 7, 7, 4, 3, 1, 5, 5, 0, 6, 4, 4], [1, 5, 2, 8, 9, 2, 5, 9, 6, 7, 3, 3, 5], [1, 7, 9, 4, 5, 0, 9, 4, 9, 6, 1, 9, 9], [0, 6, 8, 3, 3, 6, 3, 5, 2, 0, 0, 9, 1], [1, 1, 1, 4, 7, 8, 6, 9, 6, 8, 8, 4, 6], [0, 5, 2, 1, 2, 5, 7, 0, 0, 4, 7, 4, 1], [0, 7, 6, 4, 2, 3, 9, 0, 7, 8, 5, 6, 7], [0, 1, 7, 6, 0, 5, 4, 7, 6, 7, 7, 5, 7], [0, 5, 2, 9, 8, 1, 7, 8, 3, 8, 5, 4, 5], [0, 4, 3, 1, 2, 8, 3, 7, 0, 9, 4, 8, 8], [1, 0, 6, 7, 9, 4, 3, 5, 2, 9, 8, 7, 7], [1, 6, 4, 4, 6, 7, 1, 4, 4, 2, 6, 7, 5], [0, 8, 1, 7, 7, 5, 2, 6, 4, 3, 9, 7, 5], [1, 7, 0, 5, 6, 2, 5, 2, 7, 4, 6, 2, 8], [0, 4, 9, 2, 3, 0, 5, 4, 7, 8, 7, 0, 5], [1, 1, 0, 5, 1, 7, 2, 8, 7, 2, 6, 9, 3], [1, 4, 2, 3, 6, 1, 5, 3, 2, 0, 3, 6, 2], [1, 1, 6, 5, 1, 0, 6, 8, 9, 7, 1, 7, 9], [0, 6, 5, 4, 0, 7, 1, 7, 6, 2, 5, 4, 2], [1, 9, 8, 6, 6, 6, 8, 4, 5, 4, 0, 4, 0], [1, 2, 7, 1, 5, 0, 6, 8, 0, 1, 3, 7, 9], [1, 1, 6, 4, 9, 8, 6, 0, 6, 2, 1, 9, 8], [0, 0, 1, 9, 5, 3, 3, 9, 6, 7, 4, 1, 1], [0, 2, 8, 5, 7, 8, 6, 7, 3, 3, 1, 6, 4], [1, 8, 2, 5, 8, 4, 7, 6, 8, 8, 5, 7, 6], [0, 8, 3, 4, 9, 6, 1, 7, 8, 3, 0, 5, 5], [1, 3, 2, 6, 7, 4, 2, 8, 7, 4, 9, 6, 8], [1, 8, 8, 9, 3, 9, 1, 8, 5, 7, 2, 5, 0], [0, 5, 8, 3, 1, 8, 8, 0, 3, 9, 3, 8, 1], [1, 6, 0, 1, 1, 0, 3, 4, 3, 3, 3, 5, 9], [1, 0, 5, 1, 7, 9, 6, 2, 4, 6, 0, 3, 5], [1, 8, 2, 0, 9, 7, 1, 0, 5, 5, 8, 0, 6], [1, 8, 9, 6, 7, 3, 9, 4, 1, 9, 6, 6, 2], [0, 6, 0, 0, 8, 2, 6, 5, 9, 4, 1, 6, 2], [1, 7, 9, 7, 9, 4, 4, 2, 1, 1, 5, 7, 4], [1, 3, 0, 4, 3, 4, 6, 8, 6, 9, 1, 7, 0], [0, 1, 2, 3, 9, 4, 1, 8, 7, 2, 2, 9, 8], [1, 6, 5, 3, 2, 7, 6, 6, 9, 0, 0, 7, 7], [1, 6, 8, 4, 9, 7, 8, 0, 3, 6, 5, 4, 8], [0, 6, 6, 0, 9, 9, 4, 5, 5, 6, 8, 3, 7], [1, 0, 1, 3, 4, 0, 0, 1, 4, 8, 5, 7, 0], [1, 0, 2, 5, 8, 2, 2, 4, 8, 9, 7, 1, 6], [1, 4, 2, 6, 6, 8, 4, 5, 6, 6, 4, 5, 9], [1, 4, 4, 1, 7, 2, 0, 4, 6, 3, 3, 6, 7], [0, 2, 2, 3, 8, 0, 0, 8, 6, 0, 2, 1, 7], [0, 9, 4, 4, 8, 1, 2, 7, 3, 2, 6, 8, 0], [0, 9, 8, 4, 2, 1, 4, 5, 2, 4, 9, 5, 1], [0, 7, 2, 4, 7, 4, 3, 2, 4, 1, 5, 6, 9], [1, 1, 8, 4, 8, 8, 8, 4, 3, 4, 1, 2, 5], [0, 3, 2, 7, 5, 7, 0, 2, 7, 4, 5, 3, 5], [0, 3, 0, 4, 6, 6, 6, 5, 7, 2, 1, 9, 5], [1, 5, 6, 0, 1, 3, 2, 7, 3, 0, 9, 8, 6], [0, 5, 5, 1, 7, 1, 0, 7, 9, 0, 3, 5, 7], [0, 5, 4, 9, 7, 9, 7, 3, 8, 0, 1, 6, 3], [1, 9, 2, 7, 3, 7, 9, 4, 3, 9, 8, 8, 2], [0, 3, 1, 8, 9, 0, 9, 0, 4, 5, 5, 0, 9], [1, 8, 6, 1, 7, 7, 2, 4, 7, 9, 2, 0, 8], [0, 6, 1, 2, 7, 1, 4, 8, 4, 1, 1, 6, 0], [0, 3, 9, 8, 5, 5, 3, 0, 8, 7, 9, 3, 5], [0, 8, 4, 3, 7, 3, 1, 8, 2, 9, 1, 4, 7], [0, 1, 5, 3, 4, 0, 5, 5, 5, 8, 0, 7, 2], [0, 1, 7, 1, 8, 2, 1, 9, 8, 6, 1, 7, 0], [0, 7, 1, 6, 9, 7, 2, 7, 2, 4, 4, 3, 6], [0, 6, 2, 7, 2, 3, 4, 9, 3, 0, 1, 6, 3], [0, 2, 9, 1, 9, 9, 9, 1, 9, 5, 4, 4, 4], [0, 1, 8, 7, 0, 0, 5, 2, 1, 5, 7, 4, 6], [1, 9, 0, 8, 7, 3, 3, 5, 5, 4, 9, 0, 1], [1, 5, 8, 0, 1, 7, 0, 2, 3, 7, 3, 2, 9], [1, 3, 2, 0, 5, 2, 7, 5, 0, 2, 6, 8, 1], [0, 2, 7, 2, 3, 2, 2, 9, 6, 9, 4, 1, 6], [1, 6, 4, 7, 9, 6, 5, 9, 5, 8, 2, 7, 1], [1, 8, 1, 2, 6, 0, 2, 4, 0, 8, 0, 1, 6], [1, 6, 2, 4, 1, 2, 4, 1, 7, 2, 7, 0, 6], [0, 1, 8, 0, 5, 0, 4, 5, 5, 1, 0, 4, 7], [0, 8, 7, 6, 4, 3, 5, 5, 7, 8, 4, 9, 0], [0, 2, 7, 7, 0, 1, 6, 6, 1, 0, 9, 3, 5], [0, 7, 6, 9, 8, 3, 8, 6, 2, 9, 3, 7, 0], [1, 6, 6, 6, 0, 3, 0, 1, 0, 2, 5, 6, 1], [0, 0, 4, 5, 1, 0, 9, 4, 4, 9, 4, 0, 9], [0, 1, 6, 9, 4, 7, 5, 7, 8, 3, 5, 7, 0], [1, 2, 7, 1, 6, 6, 1, 5, 2, 8, 6, 3, 8], [1, 9, 1, 6, 7, 5, 1, 7, 4, 7, 6, 1, 8], [1, 7, 6, 7, 0, 2, 9, 6, 9, 8, 6, 7, 8], [0, 9, 8, 7, 3, 8, 1, 5, 2, 5, 2, 7, 5], [0, 7, 3, 5, 7, 9, 7, 6, 6, 9, 1, 7, 5], [1, 6, 7, 3, 4, 4, 7, 6, 2, 6, 6, 2, 3], [0, 1, 4, 2, 2, 8, 5, 0, 9, 2, 7, 3, 1], [0, 1, 4, 2, 1, 0, 0, 2, 1, 8, 9, 8, 3], [1, 7, 0, 8, 7, 9, 9, 6, 4, 8, 6, 2, 2], [1, 9, 3, 9, 9, 8, 7, 0, 8, 1, 1, 7, 3], [1, 0, 4, 3, 5, 8, 0, 4, 6, 5, 4, 5, 8], [0, 4, 8, 0, 5, 2, 3, 2, 3, 9, 4, 2, 3], [0, 7, 9, 0, 9, 7, 2, 7, 7, 0, 4, 8, 5], [1, 6, 5, 5, 3, 3, 2, 6, 1, 3, 4, 7, 1], [0, 2, 9, 0, 0, 2, 9, 1, 8, 8, 2, 8, 4], [1, 3, 2, 5, 0, 6, 2, 5, 3, 3, 6, 1, 1], [1, 9, 2, 9, 3, 3, 8, 9, 9, 7, 2, 3, 7], [1, 1, 8, 4, 0, 8, 2, 4, 8, 0, 0, 9, 2], [1, 5, 2, 6, 0, 6, 1, 3, 0, 4, 7, 3, 8], [1, 9, 3, 8, 1, 1, 7, 8, 6, 9, 0, 6, 8], [1, 3, 2, 7, 7, 2, 2, 4, 2, 5, 8, 3, 0], [1, 1, 1, 0, 7, 7, 3, 4, 7, 3, 6, 6, 8], [0, 9, 4, 2, 8, 9, 4, 8, 4, 3, 2, 5, 3], [0, 1, 0, 9, 2, 7, 2, 3, 9, 4, 5, 0, 8], [1, 0, 4, 5, 8, 4, 0, 0, 5, 2, 2, 1, 2], [0, 5, 0, 4, 5, 3, 2, 5, 4, 1, 3, 6, 9], [1, 3, 0, 2, 7, 8, 1, 7, 7, 3, 5, 5, 9], [1, 3, 7, 0, 0, 5, 8, 1, 7, 5, 6, 5, 2], [1, 8, 1, 9, 9, 9, 4, 8, 6, 0, 7, 7, 3], [0, 8, 3, 6, 2, 7, 4, 2, 1, 9, 1, 6, 8], [0, 4, 4, 4, 2, 6, 0, 4, 0, 1, 5, 1, 7], [1, 2, 7, 4, 7, 6, 6, 6, 3, 7, 7, 2, 9], [0, 9, 8, 9, 3, 3, 3, 9, 0, 7, 4, 2, 3], [0, 7, 6, 0, 9, 1, 7, 2, 4, 5, 8, 3, 3], [1, 6, 1, 5, 5, 3, 1, 3, 2, 1, 0, 5, 6], [0, 6, 2, 4, 1, 6, 6, 3, 4, 9, 2, 7, 0], [1, 6, 3, 2, 3, 6, 1, 7, 7, 5, 6, 7, 1], [1, 0, 4, 9, 2, 3, 3, 6, 2, 6, 9, 3, 2], [0, 3, 7, 3, 9, 1, 3, 9, 5, 8, 5, 8, 9], [1, 9, 0, 0, 3, 0, 9, 1, 2, 7, 8, 0, 3], [1, 0, 1, 2, 7, 7, 0, 0, 1, 8, 4, 1, 1], [0, 0, 5, 5, 9, 6, 9, 8, 1, 2, 1, 7, 2], [0, 1, 8, 7, 9, 0, 3, 5, 6, 3, 2, 9, 4], [1, 3, 1, 5, 7, 5, 0, 8, 5, 3, 2, 5, 0], [1, 1, 7, 3, 5, 0, 7, 7, 9, 6, 8, 9, 0], [0, 7, 7, 0, 9, 4, 2, 8, 8, 0, 2, 2, 0], [1, 6, 5, 8, 3, 1, 0, 9, 0, 2, 7, 2, 9], [1, 3, 5, 8, 4, 7, 6, 3, 1, 4, 3, 4, 7], [0, 8, 8, 7, 8, 2, 7, 0, 3, 9, 6, 2, 9], [1, 1, 6, 2, 6, 7, 5, 2, 5, 0, 8, 5, 5], [0, 9, 6, 7, 3, 0, 2, 3, 9, 5, 3, 7, 4], [1, 5, 2, 7, 3, 6, 0, 8, 3, 3, 9, 0, 3], [0, 3, 6, 8, 9, 1, 7, 7, 3, 8, 7, 3, 8], [0, 1, 2, 5, 4, 9, 8, 0, 3, 6, 4, 0, 4], [1, 2, 4, 1, 6, 8, 1, 5, 8, 3, 6, 4, 3], [1, 9, 3, 1, 0, 8, 4, 4, 0, 1, 6, 0, 8], [0, 4, 5, 1, 0, 2, 1, 7, 1, 6, 1, 3, 3], [0, 9, 5, 6, 8, 2, 2, 4, 0, 3, 9, 8, 1], [1, 9, 3, 5, 4, 3, 1, 2, 2, 2, 0, 8, 7], [0, 5, 6, 8, 1, 5, 7, 7, 8, 9, 4, 0, 6], [1, 0, 4, 6, 4, 6, 7, 4, 6, 0, 3, 6, 2], [1, 3, 3, 0, 2, 5, 3, 1, 9, 2, 3, 6, 8], [0, 6, 9, 6, 3, 6, 9, 6, 2, 1, 5, 0, 7], [1, 6, 5, 3, 0, 0, 0, 6, 2, 3, 8, 6, 0], [1, 0, 7, 1, 2, 0, 3, 0, 3, 0, 8, 8, 0], [0, 7, 1, 4, 3, 1, 8, 6, 7, 8, 1, 5, 4], [0, 6, 3, 5, 5, 4, 8, 9, 4, 8, 3, 1, 7], [0, 6, 4, 3, 1, 0, 7, 2, 9, 0, 5, 6, 7], [0, 6, 3, 7, 7, 0, 6, 8, 6, 7, 4, 6, 0], [0, 4, 2, 7, 2, 4, 1, 4, 6, 1, 8, 1, 7], [1, 1, 7, 9, 0, 7, 0, 5, 1, 8, 6, 3, 5], [1, 2, 0, 2, 7, 2, 7, 9, 1, 2, 7, 0, 3], [0, 3, 3, 6, 2, 0, 9, 1, 1, 0, 3, 5, 8], [1, 4, 0, 9, 9, 2, 5, 6, 5, 6, 8, 0, 5], [0, 3, 5, 3, 3, 3, 4, 6, 7, 5, 7, 0, 5], [0, 5, 8, 8, 5, 8, 5, 4, 7, 0, 5, 7, 3], [0, 5, 0, 7, 6, 4, 2, 7, 8, 3, 6, 1, 4], [0, 4, 7, 8, 6, 5, 3, 7, 7, 5, 7, 0, 7], [1, 3, 6, 5, 3, 0, 8, 5, 4, 9, 7, 7, 1], [1, 4, 8, 2, 8, 2, 8, 3, 4, 9, 4, 6, 7], [1, 4, 1, 6, 9, 4, 5, 7, 7, 4, 6, 7, 7], [0, 2, 8, 2, 3, 0, 7, 7, 1, 0, 1, 1, 0], [1, 2, 2, 4, 5, 4, 7, 1, 0, 1, 8, 6, 7], [0, 0, 7, 2, 4, 7, 2, 8, 2, 4, 4, 3, 9], [1, 9, 1, 3, 2, 4, 1, 3, 3, 7, 5, 6, 1], [1, 4, 7, 4, 6, 8, 6, 7, 4, 4, 1, 2, 8], [0, 1, 6, 7, 3, 9, 0, 4, 7, 2, 9, 6, 7], [0, 1, 3, 9, 1, 1, 1, 1, 6, 3, 0, 1, 1], [1, 2, 7, 0, 2, 0, 7, 9, 7, 2, 1, 5, 2], [0, 9, 1, 0, 4, 2, 8, 2, 2, 4, 2, 4, 0], [1, 1, 7, 9, 7, 9, 3, 0, 5, 3, 4, 5, 2], [0, 0, 7, 4, 3, 0, 8, 6, 7, 7, 7, 9, 6], [0, 7, 0, 4, 0, 6, 7, 6, 3, 2, 0, 7, 1], [0, 4, 8, 8, 0, 5, 3, 0, 7, 8, 4, 7, 9], [0, 6, 3, 3, 3, 6, 6, 3, 7, 0, 4, 8, 3], [0, 1, 2, 0, 6, 0, 3, 1, 0, 9, 9, 8, 0], [0, 7, 0, 3, 8, 2, 5, 0, 7, 5, 0, 0, 4], [1, 8, 8, 8, 2, 0, 6, 2, 5, 6, 2, 3, 2], [1, 6, 2, 5, 8, 0, 1, 9, 7, 3, 7, 6, 0], [0, 3, 6, 1, 9, 1, 6, 8, 2, 6, 5, 2, 5], [0, 3, 9, 7, 8, 9, 4, 5, 4, 8, 5, 5, 1], [1, 1, 5, 5, 2, 5, 3, 4, 5, 3, 5, 0, 9], [1, 0, 9, 4, 9, 6, 1, 7, 0, 0, 6, 0, 1], [0, 8, 4, 9, 9, 9, 3, 4, 1, 3, 5, 7, 7], [0, 7, 8, 0, 0, 3, 5, 5, 9, 4, 1, 8, 1], [1, 7, 3, 7, 6, 3, 2, 5, 6, 2, 7, 5, 0], [0, 0, 2, 6, 0, 6, 6, 2, 7, 6, 1, 6, 2], [1, 1, 6, 4, 7, 7, 9, 7, 0, 6, 2, 6, 6], [0, 2, 1, 1, 4, 7, 6, 8, 8, 8, 9, 4, 3], [0, 0, 8, 7, 5, 1, 9, 3, 1, 9, 8, 6, 0], [0, 3, 4, 4, 0, 7, 1, 8, 7, 2, 7, 9, 9], [1, 0, 4, 5, 3, 6, 0, 6, 6, 6, 4, 1, 5], [0, 9, 7, 9, 9, 5, 9, 2, 3, 0, 4, 6, 2], [1, 6, 5, 2, 7, 2, 1, 3, 5, 2, 5, 2, 1], [1, 9, 9, 4, 8, 6, 3, 7, 8, 3, 3, 0, 6], [0, 8, 2, 6, 6, 7, 8, 2, 1, 3, 2, 9, 2], [0, 4, 8, 1, 9, 2, 4, 8, 4, 5, 4, 6, 4], [1, 1, 7, 0, 7, 3, 5, 1, 4, 9, 5, 3, 1], [1, 7, 8, 8, 3, 5, 3, 1, 5, 7, 6, 1, 9], [1, 4, 5, 6, 5, 3, 2, 5, 3, 0, 3, 5, 5], [0, 0, 2, 1, 3, 8, 9, 1, 0, 9, 7, 6, 7], [0, 0, 7, 6, 1, 9, 1, 9, 5, 8, 9, 4, 0], [1, 5, 4, 4, 6, 8, 7, 3, 9, 9, 0, 7, 4], [1, 3, 0, 4, 8, 1, 2, 3, 9, 7, 1, 9, 5], [1, 2, 6, 1, 4, 6, 9, 4, 7, 1, 1, 2, 6], [0, 1, 6, 7, 5, 8, 3, 2, 7, 0, 4, 1, 1], [1, 6, 2, 7, 8, 7, 6, 8, 7, 2, 0, 3, 3], [0, 2, 1, 9, 2, 6, 7, 5, 9, 5, 2, 2, 2], [0, 5, 2, 0, 4, 7, 7, 3, 8, 1, 5, 0, 9], [1, 6, 5, 8, 6, 4, 0, 9, 6, 9, 0, 1, 8], [1, 2, 0, 8, 7, 9, 2, 4, 4, 0, 9, 8, 9], [1, 6, 5, 2, 0, 6, 1, 0, 4, 4, 1, 5, 8], [1, 5, 4, 2, 5, 6, 2, 5, 6, 2, 2, 9, 5], [1, 6, 9, 7, 2, 5, 1, 0, 6, 9, 1, 8, 1], [0, 0, 3, 9, 9, 0, 6, 7, 9, 5, 7, 4, 6], [1, 5, 8, 9, 9, 0, 6, 7, 9, 7, 9, 6, 1], [1, 3, 6, 4, 6, 3, 6, 8, 4, 5, 2, 8, 3], [0, 7, 4, 8, 4, 9, 7, 8, 0, 0, 1, 2, 2], [0, 4, 2, 9, 1, 3, 8, 8, 3, 0, 0, 9, 8], [1, 9, 0, 9, 2, 1, 2, 9, 3, 6, 5, 3, 2], [1, 1, 0, 2, 0, 5, 9, 9, 5, 4, 7, 8, 9], [1, 6, 0, 5, 9, 9, 1, 9, 0, 5, 4, 7, 1], [1, 0, 4, 0, 0, 3, 2, 4, 1, 6, 4, 6, 5], [1, 7, 3, 7, 3, 3, 7, 6, 1, 7, 7, 8, 6], [0, 9, 1, 7, 3, 5, 1, 8, 9, 3, 8, 6, 2], [1, 4, 9, 9, 3, 7, 5, 4, 4, 4, 4, 4, 0], [0, 3, 7, 7, 4, 3, 6, 1, 1, 3, 5, 1, 6], [0, 8, 5, 4, 3, 9, 3, 3, 1, 3, 4, 8, 1], [1, 6, 1, 9, 4, 6, 4, 6, 4, 5, 2, 1, 5], [1, 1, 1, 6, 8, 3, 9, 1, 1, 3, 0, 9, 9], [0, 5, 1, 6, 8, 4, 8, 8, 2, 4, 4, 9, 2], [0, 2, 3, 0, 1, 4, 2, 7, 1, 9, 9, 0, 6], [0, 8, 4, 2, 5, 1, 4, 9, 5, 2, 0, 4, 3], [0, 9, 1, 2, 5, 0, 6, 6, 5, 0, 3, 1, 8], [1, 7, 8, 7, 1, 7, 4, 6, 3, 3, 3, 3, 9], [0, 3, 7, 2, 9, 4, 1, 5, 4, 7, 2, 1, 0], [1, 2, 8, 1, 1, 6, 4, 7, 8, 2, 0, 5, 2], [1, 8, 3, 5, 4, 8, 0, 9, 7, 8, 0, 1, 8], [1, 7, 9, 9, 0, 4, 5, 7, 2, 9, 0, 1, 9], [0, 6, 6, 5, 6, 7, 0, 4, 0, 7, 8, 5, 1], [0, 6, 0, 6, 3, 1, 1, 5, 0, 9, 2, 2, 3], [1, 6, 3, 5, 6, 7, 1, 6, 6, 9, 7, 4, 9], [0, 9, 5, 9, 8, 2, 4, 3, 3, 2, 3, 5, 6], [0, 1, 6, 3, 8, 9, 9, 2, 8, 2, 5, 8, 6], [1, 4, 7, 6, 6, 5, 7, 3, 3, 3, 4, 1, 1], [1, 8, 2, 9, 0, 3, 8, 6, 8, 3, 3, 7, 3], [0, 2, 8, 4, 8, 5, 4, 8, 9, 5, 0, 5, 7]];
function getDecodeCoordinate(enLonLat) {
     //取编码坐标的后4位字符
     var last4cha = enLonLat.substring(enLonLat.length - 4, enLonLat.length);
     //将后4位字符转成对应的ASCII值
     var last4asc = [];
     for (var i = 0; i < last4cha.length; i++) {
      last4asc.push(last4cha.charCodeAt(i));
     }
     //取4个数值的后两位,组成一个新的8位数字,代表key所在的索引值
     var keyposition = 0;
     keyposition |= last4asc[0] & 3;
     keyposition |= (last4asc[1] & 3) << 2;
     keyposition |= (last4asc[2] & 3) << 4;
     keyposition |= (last4asc[3] & 3) << 6;
     //根据索引值取对应的key,key是一个长度为13的数组
     var keys = __keys__[keyposition];
     //取编码坐标的去掉最后4位的所有字符
     var lonlat = enLonLat.substring(0, enLonLat.length - 4);
     //将所有字符转成对应的ASCII值
     var lonlatasc = [];
     for (var i = 0; i < lonlat.length; i++) {
      lonlatasc.push(lonlat.charCodeAt(i));
     }
     //根据key的第一位。。。
     var key1 = keys[0];
     var fixed = 0;
     switch (key1) {
       case 0:
      fixed = 23;
      break;
       case 1:
      fixed = 53;
      break;
     }
     //将所有的asc值进行处理
     for (var i = 0; i < lonlatasc.length; i++) {
      lonlatasc[i] -= fixed;
      lonlatasc[i] -= keys[i + 1];
     }
     //将处理后的asc值转成对应的asc码
     var lonlatcha = [];
     for (var j = 0; j < lonlatasc.length; j++) {
      lonlatcha.push(String.fromCharCode(lonlatasc[j]));
     }
     var deLonLat = lonlatcha.join("");
     return deLonLat;
}
 
function getEncodeCoordinate(MrY) {
    var xGH = 256;
    var AaZ = __keys__;
    var AtF = 13;
    var Cwv = parseInt(Math.random() * xGH);
    var FEf = AaZ[Cwv];
    var wcW = "" + MrY;
    var UZO = new Array();
    for (var i = 0; i < wcW.length; i++) {
        UZO.push(wcW.charCodeAt(i));
    }
    var InJ = FEf[0];
    var KvR = 0;
    switch (InJ) {
      case 0:
        KvR = 23;
        break;
      case 1:
        KvR = 53;
        break;
    }
    nHl = UZO.length;
    var i = 0;
    var eag = "";
    for (i = 0; i < UZO.length && i < FEf.length - 2; i++) {
        UZO[i] += (parseInt(FEf[i + 1]) + parseInt(KvR));
        eag += String.fromCharCode(UZO[i]);
    }
    var mhc = new Array(4);
    for (var i = 0; i < mhc.length; i++) {
        mhc[i] = (Math.random() * 10);
        mhc[i] += 70;
        mhc[i] = mhc[i] >> 2;
        mhc[i] = mhc[i] << 2;
    }
    mhc[0] = mhc[0] | Cwv & 3;
    mhc[1] = mhc[1] | (Cwv & 12) >> 2;
    mhc[2] = mhc[2] | (Cwv & 48) >> 4;
    mhc[3] = mhc[3] | (Cwv & 192) >> 6;
    eag += String.fromCharCode(mhc[0], mhc[1], mhc[2], mhc[3]);
    return eag;
}
var originallon = "116.397945";
var originallat = "39.90816999";
var encodelon = getEncodeCoordinate(originallon);
var encodelat = getEncodeCoordinate(originallat);
var decodelon = getDecodeCoordinate(encodelon);
var decodelat = getDecodeCoordinate(encodelat);
document.write(originallon + "->" + encodelon + "<br/>");
document.write(originallat + "->" + encodelat + "<br/>");
document.write(encodelon + "->" + decodelon + "<br/>");
document.write(encodelat + "->" + decodelat + "<br/>");
//测试结果:116.397945->hmkehuuukkILOF
//测试结果:39.90816999->lugtmsmoropJKJN
//测试结果:hmkehuuukkILOF->116.397945
//测试结果:lugtmsmoropJKJN->39.90816999
//注:转成的编码坐标每次不相同,是因为代码中使用了随机数(两处),如果想要固定的值,可把随机数修改为固定值
原文地址:https://www.cnblogs.com/liongis/p/1959300.html