openlayers 学习笔记之1
1. 为Web Gis客户端开发的javascript 框架 百度文库中的教程:入门经典>
1) 初始化map:
map = new OpenLayers.Map(mapContainerName, {
controls: [new OpenLayers.Control.PanZoomBar({ zoomWorldIcon: true, position: new OpenLayers.Pixel(, ) }),
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.ScaleLine({ maxWidth: , topOutUnits: "公里", topInUnits: "米", bottomOutUnits: "", bottomInUnits: "" }),
new OpenLayers.Control.MousePosition({ prefix: "经度:", separator: ",纬度:" }),
new OpenLayers.Control.KeyboardDefaults(),
new OpenLayers.Control.TouchNavigation({ dragPanOptions: { enableKinetic: true } })
],
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
maxResolution: 156543.0339,
numZoomLevels: ,
units: 'm',
projection: "EPSG:900913",
displayProjection: new OpenLayers.Projection("EPSG:4326")
}
2)瓦片行列式的计算
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
var z = this.map.getZoom();
2. 墨卡托投影(900913)是WGS84大地坐标系(经纬度)(4326)的投影(其中的一种投影方法),左右不变,上下拉长。
1) 地面分辨率Resolution: 一个像素表示多少米
2) 地图比例尺Scale:图上距离和实际距离的比例
maxResolution: 156543.0339, //显示比例
Bounds (-20037508.3427892, -20037508.3427892, 20037508.3427892, 20037508.3427892), numZoomLevels : 19, // 全球bounds范围

缩放级别
|
地图宽度、高度(像素) |
地面分辨率(米/像素) |
地图比例尺(以96dpi为例) |
|
|
0 |
256 |
156,543.0339 |
1 : 591,658,710.90 |
|
1 |
512 |
78,271.5170 |
1 : 295,829,355.45 |
|
2 |
1,024 |
39,135.7585 |
1 : 147,914,677.73 |
|
3 |
2,048 |
19,567.8792 |
1 : 73,957,338.86 |
|
4 |
4,096 |
9,783.9396 |
1 : 36,978,669.43 |
|
5 |
8,192 |
4,891.9698 |
1 : 18,489,334.72 |
|
6 |
16,384 |
2,445.9849 |
1 : 9,244,667.36 |
|
7 |
32,768 |
1,222.9925 |
1 : 4,622,333.68 |
|
8 |
65,536 |
611.4962 |
1 : 2,311,166.84 |
|
9 |
131,072 |
305.7481 |
1 : 1,155,583.42 |
|
10 |
262,144 |
152.8741 |
1 : 577,791.71 |
|
11 |
524,288 |
76.4370 |
1 : 288,895.85 |
|
12 |
1,048,576 |
38.2185 |
1 : 144,447.93 |
|
13 |
2,097,152 |
19.1093 |
1 : 72,223.96 |
|
14 |
4,194,304 |
9.5546 |
1 : 36,111.98 |
|
15 |
8,388,608 |
4.7773 |
1 : 18,055.99 |
|
16 |
16,777,216 |
2.3887 |
1 : 9,028.00 |
|
17 |
33,554,432 |
1.1943 |
1 : 4,514.00 |
|
18 |
67,108,864 |
0.5972 |
1 : 2,257.00 |
|
19 |
134,217,728 |
0.2986 |
1 : 1,128.50 |
|
20 |
268,435,456 |
0.1493 |
1 : 564.25 |
|
21 |
536,870,912 |
0.0746 |
1 : 282.12 |
|
22 |
1,073,741,824 |
0.0373 |
1 : 141.06 |
|
23 |
2,147,483,648 |
0.0187 |
1 : 70.53 |
1) google map 900913 地图分块算法,切片算法 》》》
2)墨卡托坐标和经纬度坐标互转》》》
3)gis理论、墨卡托投影等》》》
总数量:
http://www.map1000.com/jjj/mhQiantuMapHandler.ashx?searchType=2&f=getPoiCount&classId=8000100®ionCode=003910
GetPoiCountWithKey
getPoiCountWithClass
openlayers 学习笔记之1的更多相关文章
- OpenLayers学习笔记4——使用jQuery UI实现測量对话框
OpenLayers学习最好的方式就是跟着其自带的演示样例进行学习,另外对web前端的开发设计要了解,慢慢积累,这样在一般的小项目中应该是足够用了. 本篇參照量測demo实现对话框形式的量測,抛砖引玉 ...
- OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
近期事情非常多,老板给的压力也非常大.经常出差,另外项目和个人研究还都要跟上,本月要交论文,还要写专利,仅仅能抽时间来学习其它的东西了. 关于OpenLayers的在博客中不会写太多详细的实现(网上有 ...
- OpenLayers学习笔记3——使用jQuery UI美化界面设计
PC端软件在开发是有较多的界面库能够选择,比方DevExpress.BCG.DotNetBar等,能够非常方便快捷的开发出一些炫酷的界面,近期在学习OpenLayers.涉及到web前端开发,在设计界 ...
- openlayers 学习笔记一
1. 创建地图,加载控件 var map = new OpenLayers.Map("map", { projection: new OpenLayers.Projection(& ...
- OpenLayers学习笔记(十)— 动态加载JSON数据模拟航迹线
在openlayers 3 上,加载本地json数据,动态绘制航迹线,以飞机当前位置为地图中心,此例子是模拟DEMO 本文链接:动态加载JSON数据模拟航迹线 作者:狐狸家的鱼 GitHub:八至 前 ...
- OpenLayers学习笔记(九)— 限制地图显示范围
openlayers 3 地图上限制地图显示及拖动范围,坐标系是4326转3857,中心经纬度精确到小数点后六位,减少误差 GitHub:八至 作者:狐狸家的鱼 本文链接:ol3-限制地图显示及拖动范 ...
- OpenLayers学习笔记(八)— 类似比例尺的距离环(二)
openlayers 3 地图上创建一个距离环,始终以地图中心为中心,每个环之间的距离类似比例尺,随地图缩放而变化. 添加具有覆盖整个范围的特征的虚拟层,其可以被设置为围绕地图中心的环. 这篇是上一篇 ...
- OpenLayers学习笔记(七)— 类似比例尺的距离环(一)
openlayers 3 地图上创建一个距离环,始终以地图中心为中心,每个环之间的距离类似比例尺,随地图缩放而变化. 添加具有覆盖整个范围的特征的虚拟层,其可以被设置为围绕地图中心的环.注意,根据地图 ...
- OpenLayers学习笔记(六)— 拖拽叠加层overlayer
是在官网例子基础上增加的拖拽功能 GitHub:八至 作者:狐狸家的鱼 本文链接:拖拽叠加层overlayer 全部代码 <!DOCTYPE html> <html> < ...
随机推荐
- insertAfter的兼容性
function insertAfter(newElement,targetElement){ var parent=targetElement.parentNode; if(parent ...
- css形状大全
转至:http://blog.sina.com.cn/s/blog_4abb9bba0101acsx.html
- 模拟状态为active的日志损坏的数据恢复实验(不完全恢复)
1查看当前日志状态 首先不完全恢复是会丢失数据的,由此在当前打开的数据中我们创建一些测试数据,用来验证当我们进行完不完全恢复后该数据是否还存在. 2模拟删除CURRENT状态的日志 3启动数据验证错误 ...
- 一整套WordPress模板制作的教程
WordPress基本模板文件 一套完整的WordPress模板应至少具有如下文件:style.css: CSS(样式表)文件index.php : 主页模板archive.php : Archive ...
- php判断字符串A是否含有字符串B
<?php if (preg_match ("/PHP/", "PHP is the web scripting language of choice." ...
- java中内部类使用小结
内部类是指在一个外部类中再定义一个类,类名不需要和文件名相同 内部类可以是静态的,类的修饰符可以是private,default,protect,public修饰 ,而外部类只能是public 和 d ...
- 【转】手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...
- python中raw_input输入数字问题
如果按照下面方式,则无论你输入什么,都会打印12,因为raw_input接受的输入是按照字符串处理的 num = raw_input('please enter a num:') if num > ...
- 【转】Unity中的协同程序-使用Promise进行封装(二)
原文:http://gad.qq.com/program/translateview/7170970 译者:王磊(未来的未来) 审校:崔国军(飞扬971) 在上一篇文章中,我们的注意力主要是 ...
- python学习之 字符串前'r'的用法
在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 ...