先说说这个功能可能使用到的地方,当我们下载的网上瓦片或者矢量数据的第一级或开始几级效果不是很好时,我们就就想让用户看到这些级别的瓦片。实现这个功能比较简单,主要就是修改Openlayers.map的isValidZoomLevel方法。具体如下:
1.先定义好一个limiteZoonLevel方法,在

/*
*设置地图可以缩放的级别
*Parameters:
*minLevel - {int} 最小级别
*maxLevel - {int} 最大级别
*/
limiteZoonLevel: function (minLevel, maxLevel) {
minLevel = minLevel || 0; //如果没有传入minLevel,则默认为0
maxLevel = maxLevel || this.mapObj.numZoomLevels;
this.mapObj.isValidZoomLevel = function (zoomLevel) {
return ((zoomLevel != null) &&
(zoomLevel >= minLevel) && // 最小级
(zoomLevel <= maxLevel));
}
},

地图初始化完成时,调用就可以了。同样的,我们也可以在点击某个按钮后触发。

2.以初始化地图调用为例。

var myMap = {
mapObj:null,
initialize: function (domId) {
var mapNav = new OpenLayers.Control.Navigation();
this.mapObj = new OpenLayers.Map(domId, {
maxExtent: new OpenLayers.Bounds(90, 0, 135, 45), //90,0,135,40.9798980696202 90, 0, 135, 45
controls: [mapNav],
numZoomLevels: 8,
maxResolution: (135 - 90) / 256,
theme: null
}); //定义瓦片图层
var titleLayer = new Zondy.Map.TileLayerForMetro('myLayers', '', {
baseUrl: '../images/map/ditu/IMG'
});
this.mapObj.addLayer(titleLayer);
this.mapObj.setCenter(new OpenLayers.LonLat(101.217, 24.87400), 4);
this.limiteZoonLevel(4,8);
return this;
}, /*
*设置地图可以缩放的级别
*Parameters:
*minLevel - {int} 最小级别
*maxLevel - {int} 最大级别
*/
limiteZoonLevel: function (minLevel, maxLevel) {
minLevel = minLevel || 0; //如果没有传入minLevel,则默认为0
maxLevel = maxLevel || this.mapObj.numZoomLevels;
this.mapObj.isValidZoomLevel = function (zoomLevel) {
return ((zoomLevel != null) &&
(zoomLevel >= minLevel) && // 最小级
(zoomLevel <= maxLevel));
}
}, OBJECT_NAME: 'myMap'
};

这里我将地图的初始化和级别控制方法都包在myMap对象中了。最后一步就是调用这个myMap对象。

OpenLayers控制瓦片的绽放级别的更多相关文章

  1. openlayers调用瓦片地图分析

    网上有诸多资料介绍openlayers如何调用百度地图或者是天地图等常见互联网地图,本文作者使用的是不是常见的互联网瓦片,现将调用过程进行整理与大家分享. 首先,openlayers就不赘述了(官网: ...

  2. springmvc 事务控制与数据库隔离级别

    springmvc 事物传播与数据库隔离控制 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html 一.Propagation ...

  3. openlayers离线瓦片地图开发

    近期业务繁忙...待更新

  4. lin-cms-dotnetcore.是如何方法级别的权限控制的?

    方法级别的权限控制(API级别) Lin的定位在于实现一整套 CMS的解决方案,它是一个设计方案,提供了不同的后端,不同的前端,而且也支持不同的数据库 目前官方团队维护 lin-cms-vue,lin ...

  5. MongoDB 安全和访问权限控制

    MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...

  6. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  7. SQL事务隔离级别

    数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修 ...

  8. LogUtil【实现自由的控制日志的打印的封装类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 主要用于控制项目开发和上线阶段日志的打印. 效果图 暂不需要. 代码分析 在LogUtil类中声明代表不同日志级别的常量值(VERB ...

  9. Jmeter日志级别

    转自:https://blog.csdn.net/gowhere_/article/details/78555068 Jmeter日志默认存放在%JMeter_HOME%\bin目录,文件名通常是JM ...

随机推荐

  1. iOS - UIButton设置文字标题下划线以及下划线颜色

    创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...

  2. cs

    cs <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  3. 解决Ubuntu "E: 软件包 vim 还没有可供安装的候选者"问题

    sudo apt-get update 试着运行这段代码后再尝试sudo apt-get install 安装语句

  4. CUtilityCode

    (1) 基于boost的生产者/消费者队列 template<typenameData> classconcurrent_queue { private: std::queue<Da ...

  5. jdbc 数据库连接

    连接数据库 1)通过Driver来连接(Driver:数据库厂商提供的一个接口) public void testDriver()throws Exception{ Driver driver = n ...

  6. web前端基础知识jQuery-补

    一.JS正则 1.定义正则表达式 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串: 1)构造函数 var reg=new RegExp('< ...

  7. javascript原型对象

    先来做个复习,ES5中有有几种数据类型呢? 5种基本数据类型 Undefined Null Boolean Number String 1种复杂数据类型 Object 除了基本数据类型,万物皆对象,记 ...

  8. Android 自定义 view(三)—— onDraw 方法理解

    前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自 ...

  9. unrar.dll 使用实例

    /* * main.cpp * * Created on: Aug 17, 2015 * Author: smallcroco * * Discription: * 1 首先打开解压包,可以设置打开方 ...

  10. 目标检测方法总结(R-CNN系列)

    目标检测方法系列--R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD 目录 相关背景 从传统方法到R-CNN 从R-CNN到SPP Fast R-CNN ...