天天看點

地圖網站MapBar地理位置标記ID轉換為經緯度的Javascript解密算法

地圖網站 MapBar 使用的地理位置标記不是常用的經緯度表示法,而是用特殊的算法并使用許可碼加密的。

下面的js程式是直接從mapbarapi.js中提取出來,适用于 Mapbar Maplet Engine  Date: 2009-4-20  Time: 9:45:41。

var strLicenseKey = 8890; // 該數值每個網站可能不一樣。

var pu = {};

var c75=2;

function JM(xT) {var pk = -1;var fE = 0;var ub = "";var fH = "";if (xT != null && parseInt(xT.charAt(0), 36) >= 33) {fH = xT.charAt(0);xT = xT.substring(1);}for (var i = 0; i < xT.length - (c75 ? 1 : 0); i++) {var n8 = parseInt(xT.charAt(i), 36) - 10;if (n8 >= 17) {n8 = n8 - 7;}ub += n8.toString(36);if (n8 > fE) {pk = i;fE = n8;}}var n9 = parseInt(ub.substring(0, pk), 16);var n0 = parseInt(ub.substring(pk + 1), 16);if ("X" == fH) {n9 = - n9;}if ("Y" == fH) {n0 = - n0;}var v6 = new Array;v6[0] = (n9 + n0 - parseInt(strLicenseKey)) / 2;v6[1] = (n0 - v6[0]) / 100000;v6[0] /= 100000;if (v6[0] > 180) {v6[0] -= 360;}pu[xT] = v6;return v6;}

// 解密執行個體

var pos = JM('IJJCACVUAEBHTJ');

alert(pos[0] + "," + pos[1]);

繼續閱讀