百度地图TILE算法
- 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算法的更多相关文章
- 利用百度地图API和群蚁算法,对TSP问题进行模拟与求解
前言 最近由于换了工作,期间也有反思和总结上家公司的得失,总觉得有什么事情当初可以完成或者完成得更好,其中TSP问题就是其中之一.当初在开发一个仓配系统的时候,有一个线路排程的需求,当时自己简单在纸上 ...
- 百度地图API位置偏移的校准算法
转自极客人原文 百度地图API位置偏移的校准算法 在开始使用百度地图API进行开发时可能会遇到一件相当奇怪的事情,使用百度定位的经纬度在地图上显示相当不准确,这一问题我在微信开发和安卓开始时都遇到过. ...
- (转)深入理解最强桌面地图控件GMAP.NET --- 百度地图
原文地址:http://www.cnblogs.com/enjoyeclipse/archive/2013/01/14/2859026.html 前两篇介绍了GMAP.NET的一些基本功能和如何在自己 ...
- 深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图
之前写了篇博文,深入理解最强桌面地图控件GMAP.NET --- 百度地图 但是很多回复说百度地图更新了,不能显示百度的离线地图.之前承诺说是国庆节更新,最近才更新.代码已经提交到: https:// ...
- 微信JS-SDK坐标位置转换为百度地图坐标
微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流 ...
- C#调用百度地图 api
转 http://blog.csdn.net/kkkkkxiaofei/article/details/8663377 这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不 ...
- 去百度API的百度地图准确叠加和坐标转换的解决方案研究
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前项目上如果要使用百度地图,得加载百度的开发包,然后通过百 ...
- 首师大附中互测题:50136142WXY的坑爹百度地图【B006】(可以喝的超大桶水)
[B006]50136142WXY的坑爹百度地图[难度B]——————————————————————————————————————————————————————————————————————— ...
- GPS部标平台的架构设计(五)-地图服务算法库
GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...
随机推荐
- mvc 对一个或者多个实体验证失败
为了解决“对一个或者多个实体验证失败”,关闭调用SaveChanges() 的实体属性合法性验证(谨慎使用) db.Configuration.ValidateOnSaveEnabled = fals ...
- 奔跑的歌颂 diskgenius 找回了20G数据
2.0同学家的电脑不慎重装系统,结果默认重新分区.其他倒没什么数据,就是几千张记录孩子成长的照片最为珍贵.为了找回数据,用U盘启动,使用Diskgenius全部找回,在此奔歌一下.
- Swift 自定义Subscript
Swift可以方便给自定义类加下标,其中参数和返回值可以在类里定义为任意类型: subscript(parameters) -> ReturnType { get { //return some ...
- C#的变迁史 - C# 4.0篇
C# 4.0 (.NET 4.0, VS2010) 第四代C#借鉴了动态语言的特性,搞出了动态语言运行时,真的是全面向“高大上”靠齐啊. 1. DLR动态语言运行时 C#作为静态语言,它需要编译以后运 ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- node.js图片上传
1.node-formidable 对文件上传提供帮助的组件 2.app.js var formidable = require('formidable'); var http = require( ...
- java 多态奇怪现象,子类还没有构造完成就开始干活了,谁来帮我解释?
java代码: package test.extend; public class Base { public Base(){ System.out.println("基类构造") ...
- [Cordova] 无法显示Alert视窗
[Cordova] 无法显示Alert视窗 问题情景 今天开了一个Cordova专案做范例,将预设的index.html页面修改为下列内容.按下执行却发现,这样一个简单的范例无法正常执行.点击页面上的 ...
- 25款专业的 WordPress 电子商务网站主题
WordPress 作为最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易用.这篇文章和大家分享35款专业的 WordPress 电子商务网 ...
- Captain Icon – 350+ 有趣的矢量图标免费下载
Captain Icon 是一套一个惊人的免费图标集,包含350+有趣的矢量图标,可以缩放到任意大小而不会降低质量.图标的类别很丰富,有设计,体育,社会,天气等很多类别.提供 EPS.PSD.PNG. ...