openlayer 系列二(地图切换控件)
来源:互联网 发布:中级数据库系统工程师 编辑:程序博客网 时间:2024/06/05 17:16
根据上一个文章,已经简单的会使用openlayer 了.
现在加入地图切换控件.切换卫星地图和矢量地图作为展示.目前有2种方案.
方案一:
首先我们把2个地图全部叠加map 上.
a = new ol.layer.Tile({ title: '天地图普通', type: 'base', visible: true, source: new ol.source.scgisTile({ url: 'http://www.scgis.net.cn/iMap/iMapServer/DefaultRest/services/newtianditudlg/' }) }); b = new ol.layer.Tile({ title: '天地图卫星', type: 'base', visible: false, source: new ol.source.scgisTile({ url: 'http://www.scgis.net.cn/iMap/iMapServer/DefaultRest/services/sctilemap_dom_dom/' }) }); map.addLayer(a); map.addLayer(b);
然后通过控制div显示地图即可.
非常简单,直接在原来代码(系列一)基础加个div,再整点CSS 就可以了….
//css .map-btn { position: absolute; right: 10px; top: 120px; z-index: 2; width: 60px; height: 50px; border: 2px solid #ffffff; /*background: url(../imgs/map2.png);*/ background-size: 100% 100%; box-shadow: 0 2px 15px rgba(0,0,0,.5); cursor: pointer; } .map-btn-txt { position: absolute; right: 0; bottom: 0; width: 30px; background: rgba(0, 158, 218, 0.67); color: #fff; text-align: center; font-size: 12px; border-top-left-radius: 4px; }<div class="map-btn"> <div class="map-btn-txt">影像</div></div>
接下来是JS 控制地图切换
var showFlag = 1; // 地图模式按钮切换 $('.map-btn').click(function () { if (2 == showFlag) {// $(this).css({"background": "url(static/img/map1.png)", "background-size": "100% 100%"}); $('.map-btn-txt').text('矢量'); showFlag =1; a.setVisible(true); //显示矢量 b.setVisible(false); //显示瓦片 } else {// $(this).css({"background": "url(static/img/map2.png)", "background-size": "100% 100%"}); $('.map-btn-txt').text('影像'); showFlag = 2; a.setVisible(false); //显示矢量 b.setVisible(true); //显示瓦片 } });
方案二:
在最大同性交友网站上利用歪国人的插件. 地址如下:ol3-layerswitcher
图如下:
引入js css
<link rel="stylesheet" href="../../static/css/ol.css" type="text/css"> <link rel="stylesheet" href="../../static/css/layerswitcher.css" type="text/css"> <link rel="stylesheet" href="../../static/css/ol3-layerswitcher.css" type="text/css"> <script src="../../static/js/jquery-2.1.1.min.js" type="text/javascript"></script> <script type="text/javascript" src="../../static/js/echarts.min.js"></script> <script src="../../static/js/ol4.1.1_scgis.js" type="text/javascript"></script> <script src="../../static/js/ol3-layerswitcher.js" type="text/javascript"></script>
代码就是2句话
var layerSwitcher = new ol.control.LayerSwitcher({ tipLabel: 'Légende' // Optional label for button }); map.addControl(layerSwitcher);
完毕 :总结第一种方案很想百度地图那样的.建议采用.
系列一 地址
openlayer系列一
阅读全文
0 0
- openlayer 系列二(地图切换控件)
- 读书笔记一,openlayer创建地图
- 如何使用Openlayer发布地图
- 如何使用Openlayer发布地图
- 如何使用Openlayer发布地图
- 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨
- 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨
- openlayer设置地图可拖动、禁止拖动
- 如何使用OpenLayer发布离线地图 2
- 如何使用OpenLayer发布离线地图
- OpenLayer
- OpenLayer
- ArcGIS API for JavaScript开发教程系列(二)之地图控件
- openlayer调用geoserver发布的地图实现地图的基本功能
- GIS web框架 openlayer 系列入门《一》
- openlayer实现图层控件功能
- 控件开发系列(二)
- 从地图类型切换控件谈JS代码优化
- linux进程
- Java中的一些异常
- three.js中材质的应用
- Cloudera 配置NameNode HA
- Android如何获取SHA1
- openlayer 系列二(地图切换控件)
- 浅谈Android中的MVP
- 训练总结
- ubuntu系统 网络socket通信和本地sock通信(抽象命名方式和普通命名方式)
- 图书管理系统数据库设计
- python tempfile
- swing入门和布局管理
- Idea + Hadoop2.7.4开发Mapreduce
- bzoj 1786 && bzoj 1831: [Ahoi2008]Pair 配对(DP)