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> < ...
随机推荐
- C#面向对象整理
一.里氏转换 (1)子类可以赋值给父类:如果有一个地方需要一个父类作为参数,我们可以给一个子类代替. (2)如果父类装的是子类对象,那么这个父类可以强转为子类对象. 二.值类型跟引用类型区别 1.在内 ...
- CloudSim样例分析
自带八个样例描述: cloudsim-2.1.1\examples目录下提供了一些CloudSim样例程序,每个样例模拟的环境如下: (1)CloudSimExample1.Java:创建一个一台主机 ...
- 超文本引用href的几种用法
href="要跳转目标链接"; href="#";当前页面不跳转(返回顶部) href="###";当前页面不跳转(同时不回到顶部) hre ...
- sql 数据库 初级 个人学习总结(一)
数据库个人总结(初级)1.增删改查 insert into 表名 values ('条件','条件2') delete from 表名 where 条件 update 表名 set=条件值 where ...
- JDBC链接oracle已经mysql的测试
1.链接oracle package cn.itcast.mybatis.dao; import java.sql.Connection;import java.sql.DriverManager;i ...
- php发送邮件处理功能页面去除重复的邮箱地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript原型链问题
1. 使用new来创建对象(调用构造函数)时,如果return的是非对象(数字.字符串.布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象. 2. 重写原型会切断原型链: foo = ...
- BizTalk开发系列(七) Hello World2
之前根据BizTalk的订阅原理,使用BizTalk管理控制台创建了第一个应用程序 Hello World.但是由于控制台的开发功能有限,绝大多数的BizTalk程序都是在集成开发环境Visual S ...
- EmguCV 如何从数组中创建出IntPtr
需要添加引用:System.Runtime.InteropServices 举例如下: float[] priors={1,10}; IntPtr intPtrSet = new IntPtr(); ...
- 【7集iCore3基础视频】7-5 iTool2驱动安装
iTool2驱动安装: 高清源视频:链接:http://pan.baidu.com/s/1dF5FtlB%20密码:g5x7 iCore3 购买链接:https://item.taobao.com/i ...