OpenLayers控制瓦片的绽放级别
先说说这个功能可能使用到的地方,当我们下载的网上瓦片或者矢量数据的第一级或开始几级效果不是很好时,我们就就想让用户看到这些级别的瓦片。实现这个功能比较简单,主要就是修改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控制瓦片的绽放级别的更多相关文章
- openlayers调用瓦片地图分析
网上有诸多资料介绍openlayers如何调用百度地图或者是天地图等常见互联网地图,本文作者使用的是不是常见的互联网瓦片,现将调用过程进行整理与大家分享. 首先,openlayers就不赘述了(官网: ...
- springmvc 事务控制与数据库隔离级别
springmvc 事物传播与数据库隔离控制 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html 一.Propagation ...
- openlayers离线瓦片地图开发
近期业务繁忙...待更新
- lin-cms-dotnetcore.是如何方法级别的权限控制的?
方法级别的权限控制(API级别) Lin的定位在于实现一整套 CMS的解决方案,它是一个设计方案,提供了不同的后端,不同的前端,而且也支持不同的数据库 目前官方团队维护 lin-cms-vue,lin ...
- MongoDB 安全和访问权限控制
MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...
- 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- SQL事务隔离级别
数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修 ...
- LogUtil【实现自由的控制日志的打印的封装类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 主要用于控制项目开发和上线阶段日志的打印. 效果图 暂不需要. 代码分析 在LogUtil类中声明代表不同日志级别的常量值(VERB ...
- Jmeter日志级别
转自:https://blog.csdn.net/gowhere_/article/details/78555068 Jmeter日志默认存放在%JMeter_HOME%\bin目录,文件名通常是JM ...
随机推荐
- (转载)Spring的refresh()方法相关异常
如果是经常使用Spring,特别有自己新建ApplicationContext对象的经历的人,肯定见过这么几条异常消息:1.LifecycleProcessor not initialized - c ...
- simple mail example for smtp debug
vim /etc/mail.rc head /etc/rc.local | mail -s "test_email" pyz_sub1@mailtest.com
- 将abc的全排列输出
#include "iostream" using namespace std; void swap(char a[],int i,int j){ char temp; temp= ...
- 浅谈JSON.stringify 函数与toJosn函数和Json.parse函数
JSON.stringify 函数 (JavaScript) 语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 Jav ...
- [C#开发小技巧]解决WinForm控件TabControl闪烁问题
在用C#开发WinForm程序时,常发现TabControl出现严重的闪烁问题,这主要是由于TabControl控件在实现时会绘制默认的窗口背景.其实以下一段简单的代码可以有效的缓解该问题的发生.这就 ...
- 数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True
数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True alter table Sys_User add AgreeAddingFriend bit alt ...
- mysql 触发器示例和注解
-- 格式 CREATE TRIGGER 触发器名称 AFTER|before insert|update|delete ON 触发表 FOR EACH ROW BEGIN insert into 处 ...
- Android开发新手学习总结(六)——android开发目录结构【图文版】
转载链接:http://bbs.itcast.cn/thread-87059-1-1.html?rss 既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最 ...
- Log(android.util.Log)(option+return)
Log.v() verbose 琐碎,详细 Log.d() debug 调试 Log.i() info 信息,重要,分析行为 Log.w() wain 警告 log.e() error 错误 参数:t ...
- 对于前端JS、Html、CSS的大小、位置是否影响网站的相应时间
1.页面中大量的注释代码.空行会影响页面的加载速度 尽量去除打断的注释代码,及空行:尽可能的使用压缩后的JS.CSS文件,太小的文件没必要压缩 2.有人说CSS样式放在页面的开头,JS文件放在页面的结 ...