|
不過對于Mapbar這樣處理的方法我個人覺得還是很值得學習的,至少不會給你明碼的坐標。
不知道Mapbar的朋友看了會不會找我說我那,呵呵,不過沒關系,最近想寫篇文章給你們些個人的小小的建議,覺得說的不好也無妨。忙完這陣子就寫。
下面是Mapbar中的加密和解密部分的JS,我做了簡單說明了,什么36進制又16進制的,看的我也頭暈。
實例的結果是這樣的:
IJSDSBWVJABFA解密后的值:121.46979,31.23245
31.23245,121.46979加密后的值:IJSDSBZVJABFA
當然你也可以用其他坐標來測試和檢驗。
友情提醒:Mapbar中的那個常量值可能已經變動了,用現在方法解出來的和百度的值是不一樣的。
下面的代碼復制后保存為網頁形式就可以看到效果。
Mapbar中的加密和解密(JS)
復制代碼 代碼如下:
<script language="Javascript">
//一個常量但變動后加密解密的值會變動
var strLicenseKey = 699;
//解密坐標
function jiemi(meT){
var W7pj=-1;
var I524S=0;
var qk_X='';
for(var i=0;i<meT.length;i++){var j86T=parseInt(meT.charAt(i),36)-10;
if(j86T>=10)j86T=j86T-7;qk_X+=(j86T).toString(36);
if(j86T>I524S){W7pj=i;I524S=j86T}}var U8T=parseInt(qk_X.substring(0,W7pj),16);
var f9v8D=parseInt(qk_X.substring(W7pj+1),16);
var H1433=new Array();
H1433[0]=(U8T+f9v8D-parseInt(strLicenseKey))/2;
H1433[1]=(f9v8D-H1433[0])/100000.0;
H1433[0]/=100000.0;
return H1433};
//解密坐標的實例
document.write('這是IJSDSBWVJABFA解密后的值:<br>'+jiemi('IJSDSBWVJABFA')+'<br><br>');
//加密坐標
function jiami(e53,B92_)
{
var WVd94=parseInt(parseFloat(e53)*100000);
var j7_2=parseInt(parseFloat(B92_)*100000);
var rpB=(j7_2-WVd94+parseInt(strLicenseKey)).toString(16);
var ie9=(j7_2+WVd94).toString(16);
var H1433='';
for(var i=0;i<rpB.length;i++)
{
var k6A36=parseInt(rpB.charAt(i),16);
H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)
}
H1433+='z';
for(var i=0;i<ie9.length;i++)
{
var k6A36=parseInt(ie9.charAt(i),16);
H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)
}
return H1433.toUpperCase()
}
//加密實例
document.write('這是31.23245,121.46979加密后的值:<br>'+jiami('31.23245','121.46979'));
</script>
JavaScript技術:(JS實現)MapBar中坐標的加密和解密的腳本,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。