Creating primary keyvar LLBAND2 = [75, 60, 45, 30, 15, 0];

var LL2MC2 = [[-.0015702102444, 111320.7020616939, 0x60e374c3105a3, -0x24bb4115e2e164, 0x5cc55543bb0ae8, -0x7ce070193f3784, 0x5e7ca61ddf8150, -0x261a578d8b24d0, 0x665d60f3742ca, 82.5], [.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [-.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [-.0003218135878613132, 111320.7020701615, .00369383431289, 823725.6402795718, .46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, .37238884252424, 7.45]];
function convertorLng(lng, cN) {
var T = cN[0] + cN[1] * Math.abs(lng);
T *= (lng < 0 ? -1 : 1);
return T;
};
function convertorLat(lat, cN) { var cL = Math.abs(lat) / cN[9];
var cO = cN[2] + cN[3] * cL + cN[4] * cL * cL + cN[5] * cL
* cL * cL + cN[6] * cL * cL * cL * cL + cN[7] * cL
* cL * cL * cL * cL + cN[8] * cL * cL * cL * cL
* cL * cL;
cO *= (lat < 0 ? -1 : 1);
return cO;
};
function convertorLat2(lat, b) { d = Math.abs(lat) / b[9];
d = b[2] + b[3] * d + b[4] * d * d + b[5] * d * d * d + b[6] * d * d * d * d + b[7] * d * d * d * d * d + b[8] * d * d * d * d * d * d;
d = d * (0 > lat ? -1 :1);
return d;
};
function aa(lng2, lat2, c3) {
//debugger;
//var c3 = 18;
var c1 = 256;
//var lng = 12684092.41;
//var lat = 2559234.49; var cL = -180;
var T = 180; while (lng2 > T) {
lng2 -= T - cL
}
while (cM < cL) {
lng2 += T - cL
} lat2 = Math.max(lat2, -74)
lat2 = Math.min(lat2, 74)
var cN;
for (var cM = 0; cM < LLBAND2.length; cM++) {
if (lat2 >= this.LLBAND2[cM]) {
cN = this.LL2MC2[cM];
break;
}
}
if (!cN) {
for (var cM = LLBAND2.length - 1; cM >= 0; cM--) {
if (lat2 <= -LLBAND2[cM]) {
cN = LL2MC2[cM];
break
}
}
} var lng = convertorLng(lng2, cN);
var lat = convertorLat(lat2, cN); var cU = Math.pow(2, (18 - c3));
var cX = Math.pow(2, (18 - c3)) * c1;
var cV = Math.ceil(lng / cX);
var cQ = Math.ceil(lat / cX);
var cO = [cV, cQ, (lng - cV * cX) / cX * c1,
(lat - cQ * cX) / cX * c1];
var width = 0;
var height = 0;
var db = cO[0] - Math.ceil((width / 2 - cO[2]) / c1);
var cN2 = cO[1] - Math.ceil((height / 2 - cO[3]) / c1);
alert('http://online2.map.bdimg.com/tile/?qt=tile&x=' + db + '&y=' + cN2 + '&z=' + c3 + '&styles=pl&udt=20140314'); return
}

百度地图TILE算法的更多相关文章

  1. 利用百度地图API和群蚁算法,对TSP问题进行模拟与求解

    前言 最近由于换了工作,期间也有反思和总结上家公司的得失,总觉得有什么事情当初可以完成或者完成得更好,其中TSP问题就是其中之一.当初在开发一个仓配系统的时候,有一个线路排程的需求,当时自己简单在纸上 ...

  2. 百度地图API位置偏移的校准算法

    转自极客人原文 百度地图API位置偏移的校准算法 在开始使用百度地图API进行开发时可能会遇到一件相当奇怪的事情,使用百度定位的经纬度在地图上显示相当不准确,这一问题我在微信开发和安卓开始时都遇到过. ...

  3. (转)深入理解最强桌面地图控件GMAP.NET --- 百度地图

    原文地址:http://www.cnblogs.com/enjoyeclipse/archive/2013/01/14/2859026.html 前两篇介绍了GMAP.NET的一些基本功能和如何在自己 ...

  4. 深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图

    之前写了篇博文,深入理解最强桌面地图控件GMAP.NET --- 百度地图 但是很多回复说百度地图更新了,不能显示百度的离线地图.之前承诺说是国庆节更新,最近才更新.代码已经提交到: https:// ...

  5. 微信JS-SDK坐标位置转换为百度地图坐标

    微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流 ...

  6. C#调用百度地图 api

    转  http://blog.csdn.net/kkkkkxiaofei/article/details/8663377 这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不 ...

  7. 去百度API的百度地图准确叠加和坐标转换的解决方案研究

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前项目上如果要使用百度地图,得加载百度的开发包,然后通过百 ...

  8. 首师大附中互测题:50136142WXY的坑爹百度地图【B006】(可以喝的超大桶水)

    [B006]50136142WXY的坑爹百度地图[难度B]——————————————————————————————————————————————————————————————————————— ...

  9. GPS部标平台的架构设计(五)-地图服务算法库

    GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...

随机推荐

  1. JavaScript星形评分

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  2. Bootstrap学习笔记系列2-------Bootstrap简单表格处理

    标签 <table> 为表格添加基础样式 <thead> 表格标题行的容器元素,用来识别列 <tbody> 表格主提中的表格行的容器元素 <tr> 单行 ...

  3. iOS阶段学习第六天笔记(数组)

                                                                                                  iOS学习( ...

  4. WPFINotifyPropertyChanged使用技巧

    WPFINotifyPropertyChanged使用技巧 public class NotifyPropertyChanged : INotifyPropertyChanged { public e ...

  5. Android短信Notification的几个ID

    private static final int NOTIFICATION_ID = 123; public static final int MESSAGE_FAILED_NOTIFICATION_ ...

  6. Android使用SAX解析XML(5)

    parse_handler.java文件: package com.hzhi.my_sax; import org.xml.sax.Attributes; import org.xml.sax.SAX ...

  7. [函数] Unicode 检查字符串是否含中文字

    // 字串含中文 by Aone function IsIncludeChinese(Str: String): Boolean; var i: Integer; UCS4Str: UCS4Strin ...

  8. UVA 10089 Repackaging 数学问题

    大致题意:给出几个包裹,每个包裹都包装好了3种大小的杯子.现在要重新包装,使向量 a[1]*(s[1][1],s[1][2],s[1][3])+a[2]*(s[2][1],s[2][2],s[2][3 ...

  9. python验证登录

    一个web2.0时代的网站,自然少不了用户注册,登录,验证的功能,那么python可以怎样实现登录验证呢 这里我们使用装饰器来做登录验证 网站构成 假设我们有这样一个网站,是一个类似与博客园这种多个用 ...

  10. [转]Dcloud App离线本地存储方案

    原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.session ...