对于地图的默认加载等,网上很多资料,就不细说了,主要整理解决一些api不明显或不全的内容

因玩webgis只有一周左右,肯定很水~~

我资料中的目录结构如下:

html

  map

    js(自己封装的js目录)

      dswork.map.js(自定义的全局api接口,仅上传了部分)

      ol2

        ol2.js(针对dswork.map.js接口的OpenLayers2.13.1的实现)

    sdk

      ol2(解压openlayers2.13.1的所有文件到此)

        img(覆盖了的图片)

    themes

      img(示例使用的一些图片)

      map.css(自己页面上封装的css文件,用于覆盖和设置地图的全局样式)

    indexol2.html地图示例页面

相关下载:整个示例下载 (仅部分示例)

注:css中,把OpenLayers.Control.ScaleLine控件的比例尺下半部分给设置为不可见了

xy使用EPSG:3857,返回和设置的均改用经纬度值EPSG:3857

修改鹰眼样式(只需要修改小部分css即可,不需要重新制作插件,详看map.css)

拉框放大缩小(非开发版api对拉框缩小是没有描述的,只需要简单设置ZoomBox组件的out属性即可)

自定义地图的缩放级别(包括导航条的长度、可缩放范围)

  api本身并不支持(可能是我没发现),所以地图load时,初始化参数自定义增加minzoom和maxzoom用于设置缩放的最小级别和最大级别

  需要修改map对应的三个默认方法isValidZoomLevel、getNumZoomLevels和getMinZoom

 map.isValidZoomLevel = function(zoomLevel) {
var valid = ( (zoomLevel != null) && (zoomLevel >= this.options.minzoom) && (zoomLevel <= this.options.maxzoom) );
return valid;
};
map.getNumZoomLevels = function(){return this.options.maxzoom+1;};
map.getMinZoom = function(){return this.options.minzoom;};

使用自定义瓦片地图,可使用OpenLayers.Layer.XYZ,并且支持多个地址引用,用于支持多服务器响应,在引入的地图中,设置numZoomLevels为自定义的(maxzoom+1)值

 var esriMap = new OpenLayers.Layer.XYZ("捷泰地图", [
"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/${z}/${y}/${x}"
//,"http://127.0.0.1:777/web/gis.jsp?z=${z}&x=${x}&y=${y}"
//,"http://127.0.0.1:777/web/gis.jsp?z=${z}&x=${x}&y=${y}"
//,"http://127.0.0.1:777/web/gis.jsp?z=${z}&x=${x}&y=${y}"
], {
attribution:"ArcGIS Tiles &copy; "
,sphericalMercator:true
,wrapDateLine:false
,numZoomLevels:v.maxzoom+1
}
);
map.addLayer(esriMap);

比较常用control:

  map.addControl(new OpenLayers.Control.Navigation());//鼠标导航,包括平移放大缩小,触摸事件等

  map.addControl(new OpenLayers.Control.ZoomBox());// 拉框缩放控件

  map.addControl(new OpenLayers.Control.PanZoomBar({position:new OpenLayers.Pixel(2,6)}));//平移缩放工具条 左上

  map.addControl(new OpenLayers.Control.MousePosition());//显示鼠标所在位置坐标  右下

  map.addControl(new OpenLayers.Control.ScaleLine());//比例尺

  map.addControl(new OpenLayers.Control.Permalink());//永久链接,即该链接可以定位到当前位置及缩放级别

  map.addControl(new OpenLayers.Control.KeyboardDefaults());//键盘按键操作控件

其他的就不说了,自己下载示例直接看源码,注释很少~~

 

OpenLayers2.13.1知识整理的更多相关文章

  1. ORACLE FLASHBACK DATABASE 知识整理

    1.知识储备 1)    只有SYSDBA有权执行,闪回前一定要记录当前SCN 2)    需要停机,并要求处于ARCHIVELOG模式中 3)    闪回日志不能被复用和归档,是自动管理的.RVWR ...

  2. ORACLE DATABASE 10G FALSHBACK 知识整理

    1.知识储备 1)    当出现介质损坏时(如数据文件丢失),任何闪回方法都毫无用处,只能执行标准的备份.还原与恢复. 2.SCN记录方法 SQL>variable x_scn number; ...

  3. 【OGG】OGG基础知识整理

    [OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...

  4. Linux系统基础知识整理

    一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...

  5. Linux系统基础知识整理(一)

    本文来自于: https://www.cnblogs.com/hafiz/p/6686187.html#4196989 一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰 ...

  6. js事件(Event)知识整理

    事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下   鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...

  7. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  8. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  9. wifi基础知识整理

    转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...

随机推荐

  1. [原创]解决net-speeder与pptp不兼容的问题

    解决net-speeder与pptp不兼容的问题 终于受不了很多玩意儿都被墙了,每次FQ费半天劲,浪费时间,于是在搬瓦工搞了个VPS,年付19美元,挺便宜的,赶紧的VPN搭起,优化走起. VPN搭建很 ...

  2. Ubuntu 16.04 几个国内更新源

    http://blog.csdn.net/paincupid/article/details/52895676 如何更改源 1/ 在修改source.list前,最好先备份一份 执行备份命令 sudo ...

  3. java字典序全排列

    import java.util.Arrays; /** *字典序全排列 *字符串的全排列 *比如单词"too" 它的全排列是"oot","oto&q ...

  4. ionic build android error when download gradle

    这里我遇到一个问题,当用  ionic build android 的时候,无数次build,无数次失败的时候,我真想骂一句,NND的GNF,我又想起武大的臭鸡蛋,是的,该丢,发明这种东西的人,难道不 ...

  5. lucence.net+盘古分词

    第一步: 添加盘古和lucence的dll引用 第二步: 拷贝Dict文件夹到项目  demo里面是Dictionaries 不过官方建议改成Dict 然后把所有项右击属性 改为“如果较新则复制” 第 ...

  6. iOS,多媒体,地图相关

    1.本地音频播放 2.本地视频播放 3.使用UIImagePickerController摄像头拍照,录像,照片库浏览 4.使用AVFunction,AVCaptureVideoDataOutput实 ...

  7. 20145320GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 在这里首先感谢卢肖明的分析博客,为后面的同学减少了很多分析的负担. 分析过程 使用gcc - g example.c -o example -m32指令在64位的机器上产生 ...

  8. Python 多线程教程:并发与并行

    转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...

  9. 浅析MySQL中exists与in的使用

    exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录, ...

  10. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...