当前位置: 首页 > news >正文

教育网站制作网站wordpress博客内容设计

教育网站制作网站,wordpress博客内容设计,房屋设计装修app,青岛大型网站建设注#xff1a;当前使用的是 ol 9.2.4 版本#xff0c;天地图使用的key请到天地图官网申请#xff0c;并替换为自己的key 图层资源目录是查看WebGIS系统数据资源的表现方式#xff0c;在WebGIS开发中具有重要意义#xff0c;通过图层资源目录可清晰查看系统资源以及组织结构… 注当前使用的是 ol 9.2.4 版本天地图使用的key请到天地图官网申请并替换为自己的key 图层资源目录是查看WebGIS系统数据资源的表现方式在WebGIS开发中具有重要意义通过图层资源目录可清晰查看系统资源以及组织结构方便查找和查看。 图层控制就是实现图层资源的添加和移除具体实现方式为当勾选图层复选框时添加图层去除复选框时移除图层。 1. 创建图层资源目录 在开发工具中创建layer.json文件编写layerJSON图层资源结构。根据图层属性主要分为天地图、互联网地图以及ArcGIS地图三大类。示例中的图层资源都是网络公开服务可以根据自己需要进行添加和移除。 layerJSON [{title: 天地图,id: 1,value: TDT,checked: false,spread: true,disabled: false,children: [{title: 天地图矢量,url: http://t0.tianditu.com/DataServer?Tvec_wx{x}y{y}l{z}tk,id: 11,value: vec_w,layerName: tdtVec,checked: false,spread: true,},{title: 天地图影像,url: http://t0.tianditu.com/DataServer?Timg_wx{x}y{y}l{z}tk,id: 12,value: img_w,layerName: tdtImg,checked: false,spread: true,},{title: 天地图注记,url: http://t0.tianditu.com/DataServer?Tcva_wx{x}y{y}l{z}tk,id: 13,value: cva_w,layerName: tdtCva,checked: false,spread: false,}]},{title: 互联网地图,id: 2,value: net_map,checked: false,spread: false,disabled: false,children: [{title: 百度矢量,url: ,id: 2.2,value: bd,checked: false,layerName: bdLayer,},{title: 高德地图,url: http://wprd0{1-4}.is.autonavi.com/appmaptile?langzh_cnsize1style7x{x}y{y}z{z},id: 2.3,value: gd,checked: false,layerName: gdLayer,}]},{title: ArcGIS,id: 4,value: ArcGIS,checked: false,layerName: arcgisLayer,spread: true,disabled: false,children: [{title: 世界地图,id: 4.1,value: arcgisWorld,url: https://sampleserver5.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x},checked: false,layerName: arcgisWorld,},{title: 卫星影像,id: 4.2,value: arcgisImg,url: https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x},checked: false,layerName: arcgisImg,}]} ]2. 创建图层加载方法 在开发工具中创建layer.js文件编写加载百度地图、天地图、ArcGIS地图图层方法以及移除图层方法等。加载图层方法只需要传入地图对象和服务地址。移除图层方法是根据layerName图层名进行移除但是layerName是自定义属性需要在加载图层时通过layer.set(name,)或者layer.setProperties({name:})进行设置。在移除图层时需要获取图层名可以通过layer.get(name)或者layer.getProperties()进行获取。 /*** 添加百度地图* param map地图对象*/ function addBdLayer(map) {// 百度地图参数const resolutions [];for (let z 0; z 19; z) {resolutions[z] Math.pow(2, 18 - z);}let tilegrid new ol.tilegrid.TileGrid({origin: [0, 0],resolutions: resolutions});let source new ol.source.TileImage({projection: projection,tileGrid: tilegrid,tileUrlFunction: function (tileCoord, pixelRatio, proj) {if (!tileCoord) {return ;}var z tileCoord[0];var x tileCoord[1];// var y tileCoord[2];var y -tileCoord[2] - 1;if (x 0) {x M (-x);}if (y 0) {y M (-y);}return http://online3.map.bdimg.com/onlinelabel/?qttilex x y y z z stylespludt20151021scaler2p1},crossOrigin: anonymous})let layer new ol.layer.Tile({source: source})layer.set(name, bdLayer)map.addLayer(layer); }/*** 加载高德地图* param map地图对象* param url地图服务地址*/ function addGdLayer(map, url) {const gaodeLayer new ol.layer.Tile({source: new ol.source.XYZ({title: 高德地图,url: url})})gaodeLayer.set(name, gdLayer)map.addLayer(gaodeLayer) }/*** 加载天地图影像* param map地图对象* param url地图服务地址*/ function addTDTImgLayer(map, url) {const TDTImgLayer new ol.layer.Tile({title: 天地图影像图层,source: new ol.source.XYZ({url: url,attibutions: 天地图影像,crossOrigin: anoymous,wrapX: false})})TDTImgLayer.set(name, tdtImg)map.addLayer(TDTImgLayer) }/*** 加载天地图矢量* param map地图对象* param url地图服务地址*/ function addTDTVecLayer(map, url) {const TDTVecLayer new ol.layer.Tile({title: 天地图矢量图层,source: new ol.source.XYZ({url: url,attibutions: 天地图矢量,crossOrigin: anoymous,wrapX: false})})TDTVecLayer.set(name, tdtVec)map.addLayer(TDTVecLayer) }/*** 加载天地图注记* param map地图对象* param url地图服务地址*/ function addTDTCvaLayer(map, url) {const TDTCvaLayer new ol.layer.Tile({title: 天地图注记图层,source: new ol.source.XYZ({url: url,attibutions: 天地图注记,crossOrigin: anoymous,wrapX: false})})TDTCvaLayer.set(name, tdtCva)map.addLayer(TDTCvaLayer) }/*** 加载ArcGIS影像* param map地图对象* param url地图服务地址*/ function addArcGISImg(map, url) {let source new ol.source.XYZ({url: url,wrapX: true,crossOrigin: anonymous})let layer new ol.layer.Tile({source: source})layer.set(name, arcgisImg)map.addLayer(layer); }/*** 加载ArcGIS世界地图* param map地图对象* param url地图服务地址*/ function addArcGISWorld(map, url) {let source new ol.source.XYZ({url: url,wrapX: true,crossOrigin: anonymous})let layer new ol.layer.Tile({source: source})layer.set(name, arcgisWorld)map.addLayer(layer); }/*** 移除目标图层* param layerName图层名称*/ function removeLayerByName(layerName) {const layers map.getLayers().getArray()layers.forEach(layer {if (layer.get(name) layerName) map.removeLayer(layer)}); }3. 图层资源控制 监听oncheck事件通过checked属性判断是否添加或移除图层。 layui.use(function () {var tree layui.tree;var layer layui.layer;var util layui.util;// 渲染tree.render({elem: #layer-tree,id: layer-tree,data: layerJSON,showCheckbox: true,oncheck: obj {console.log(obj)// obj.checked // 是否被选中// obj.data // 数据项const layerObj obj.dataif (obj.checked) {switch (layerObj.value) {case bd:addBdLayer(map)breakcase gd:addGdLayer(map, layerObj.url)breakcase vec_w:addTDTVecLayer(map, layerObj.url)breakcase img_w:addTDTImgLayer(map, layerObj.url)breakcase cva_w:addTDTCvaLayer(map, layerObj.url)breakcase arcgisWorld:addArcGISWorld(map, layerObj.url)breakcase arcgisImg:addArcGISImg(map, layerObj.url)break}} else {const layerObj obj.dataremoveLayerByName(layerObj.layerName)}}})tree.reload(layer-tree, {data: layerJSON}) })4. 参考资料 服务资源https://www.jianshu.com/p/e9123e2cdc5alayuihttps://layui.dev/docs/2/tree/ 5. 完整代码 其中libs文件夹下的包需要更换为自己下载的本地包或者引用在线资源。 !DOCTYPE html htmlheadmeta http-equivContent-Type contenttext/html; charsetutf-8 /title图层控制/titlemeta charsetutf-8 /script src../../libs/js/jquery-2.1.1.min.js/scriptscript src../../libs/proj4.js/scriptscript src../../js/ol9.2.4.js/scriptlink relstylesheet href../../css/ol9.2.4.cssscript src../../libs/layui/layui.js/scriptlink relstylesheet href../../libs/layui/css/layui.cssscript src./layerJSON.json/scriptscript src./layer.js/scriptstyle* {padding: 0;margin: 0;font-size: 14px;font-family: 微软雅黑;}html,body {width: 100%;height: 100%;}#map {position: absolute;top: 0;bottom: 0;width: 100%;}#layer-container {position: absolute;top: 5%;left: 20px;width: 15%;bottom: 5%;background: #fff;color: #fff;border-radius: 2.5px;border: 1px solid #ddd;}.layer-head {background: #16baaa;padding: 10px;}/style /headbodydiv idmap title地图显示/divdiv idlayer-containerh2 classlayer-head图层资源/h2ul idlayer-tree/ul/div /body/htmlscriptproj4.defs(EPSG:4008, projlonglat ellpsclrk66 no_defs)proj4.defs(BD-MC, projmerc lon_00 unitsm ellpsclrk66 no_defs)ol.proj.proj4.register(proj4)//地图投影坐标系const projection ol.proj.get(EPSG:3857);//////天地图服务参数简单介绍////vec矢量图层////img影像图层////cva注记图层////其中_c表示经纬度投影_w表示球面墨卡托投影//////const TDTImgLayer new ol.layer.Tile({title: 天地图影像图层,source: new ol.source.XYZ({url: http://t0.tianditu.com/DataServer?Timg_wx{x}y{y}l{z}tk2a890fe711a79cafebca446a5447cfb2,attibutions: 天地图注记描述,crossOrigin: anoymous,wrapX: false})})const TDTImgCvaLayer new ol.layer.Tile({title: 天地图影像注记图层,source: new ol.source.XYZ({url: http://t0.tianditu.com/DataServer?Tcia_wx{x}y{y}l{z}tk2a890fe711a79cafebca446a5447cfb2,attibutions: 天地图注记描述,crossOrigin: anoymous,wrapX: false})})const map new ol.Map({target: map,loadTilesWhileInteracting: true,view: new ol.View({// center: [104.0635986160487, 30.660919181071225],// center: [11444274, 12707441],// center: [11421771, 4288300],center: ol.proj.transform([116.403414, 39.904091], EPSG:4326, EPSG:3857),zoom: 5,worldsWrap: false,minZoom: 1,maxZoom: 20,projection: EPSG:3857,}),layers: [TDTImgLayer, TDTImgCvaLayer],// 地图默认控件controls: ol.control.defaults.defaults({zoom: false,attribution: true,rotate: true})})map.on(click, evt {console.log(evt.coordinate)})layui.use(function () {var tree layui.tree;var layer layui.layer;var util layui.util;// 渲染tree.render({elem: #layer-tree,id: layer-tree,data: layerJSON,showCheckbox: true,oncheck: obj {console.log(obj)// obj.checked // 是否被选中// obj.data // 数据项const layerObj obj.dataif (obj.checked) {switch (layerObj.value) {case bd:addBdLayer(map)breakcase gd:addGdLayer(map, layerObj.url)breakcase vec_w:addTDTVecLayer(map, layerObj.url)breakcase img_w:addTDTImgLayer(map, layerObj.url)breakcase cva_w:addTDTCvaLayer(map, layerObj.url)breakcase arcgisWorld:addArcGISWorld(map, layerObj.url)breakcase arcgisImg:addArcGISImg(map, layerObj.url)break}} else {const layerObj obj.dataremoveLayerByName(layerObj.layerName)}}})tree.reload(layer-tree, {data: layerJSON})}) /scriptOpenLayers示例数据下载请回复关键字ol数据 全国信息化工程师GIS 应用水平考试资料请回复关键字GIS考试 【GIS之路】 已经接入了智能助手欢迎关注欢迎提问。 欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com 都看到这了不要忘记点赞、收藏 关注 哦 本号不定时更新有关 GIS开发 相关内容欢迎关注 !
http://www.dnsts.com.cn/news/33234.html

相关文章:

  • 昆山seo网站优化软件南安网站建设
  • 台州网站设计飞速品物设计集团
  • 建设银行如何进行网站冻结山东省住房和城乡建设厅注册中心
  • 如何在分类信息网站做推广平台借钱哪个利息最低
  • 阳江做网站详细解读深圳网站设计 深圳信科
  • 单页网站搭建海宁长安网站开发
  • 重庆网站建设推广公司资料软件
  • 网站优化策略分析论文厨师培训机构 厨师短期培训班
  • 做平面图片的网站wordpress微信群导航模板
  • 杭州市下城区建设局门户网站aws wordpress 站群
  • 网站模板怎么设计软件网站做seo多少钱
  • 专业开发网站报价单淘宝客是以下哪个网站的会员简称
  • 免费ui网站宁波建设网谢家限价期房2004
  • 建设银行信用卡网站是哪个好百度云网站建设教程视频
  • 建设银行积分兑换商城网站学校网站管理
  • 专做五金正品的网站wordpress子站点用户无角色
  • 网站开发营销网站多少钱wordpress密码原理
  • 北京外包网站最新新闻热点事件2024
  • 马云做黄页网站时候陕西网站建设哪家专业
  • 网站 cms自建网站管理
  • 垂直门户网站有哪些在自己的网站做百度搜索框
  • 广东微信网站制作报价太原seo快速排名
  • 网站管理后台怎么做办公室设计装修
  • 厦门网站建设方案维护深圳做网站案例
  • 网站建设要多少钱appwordpress 为静态页面
  • 网站优化成本写网站论文怎么做的
  • 企业网站找谁做中企动力手机邮箱登录
  • 新网站百度收录要几天网站建设公司 知乎
  • 网站开发公司成都棋牌网站开发工程师
  • 营山网站建设阿里云商标注册