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 ...
随机推荐
- RabbitMq中的交换机
Rabbitmq的核心概念(如下图所示):有虚拟主机.交换机.队列.绑定: 交换机可以理解成具有路由表的路由程序,仅此而已.每个消息都有一个称为路由键 ...
- msysgit之git bash方便的复制粘贴,默认工作目录,窗口大小,提高速度等小窍门
桌面图标点鼠标右键,选择属性,修改工作目录到自己的git目录: 打开快速编辑,这时候鼠标左键可以随意选取文本,enter键复制.鼠标右键是粘贴.另外,粘贴的快捷键是 inerst键 修改默认窗口大小 ...
- Kolmogorov-Smirnov检验
Kolmogorov-Smirnov检验(K-S检验)基于累积分布函数,用以检验一个经验分布是否符合某种理论分布或比较两个经验分布是否有显著性差异. 两样本K-S检验由于对两样本的经验分布函数的位置和 ...
- [Phalcon] DI默认的服务
代码,说明一切 namespace Phalcon\Di\FactoryDefault; use Phalcon\Di\Service; use Phalcon\Di\FactoryDefault; ...
- MVC中使用EF增删改查,简单的例子
//这个是分页数据和总页数类 public class SummaryBase<TModel> { public SummaryBase(); public IList<TModel ...
- Mono.Ceil 无法保存Silverlight 程序集
一句话: 处理Silverlight程序集之前, 须先移除强名称(StrongNameRemoveHelper), 之后Reflexil 即可一如预期的正常工作.
- quick-cocos2d-x :加入学习
语法不熟悉, 接口不熟悉. 部分不理解. 超级初学者. 好好学习, 一直在学习 使用Quick-Cocos2d-x搭建一个横版过关游戏 推荐官方的文档和例子 demo
- 字符串操作 replace
"hello".charAt(0); // "h" "hello, world".replace("hello", &q ...
- MVC5路由系统机制详细讲解
请求一个ASP.NET mvc的网站和以前的web form是有区别的,ASP.NET MVC框架内部给我们提供了路由机制,当IIS接受到一个请求时,会先看是否请求了一个静态资源(.html,css, ...
- Java中excute,excuteUpdate,excuteQuery的区别
executeQuery(String sql) 执行select语句,它返回的是查询后得到记录集(resultset). executeUpdate(String sql) 执行 ...