| @@ -12,7 +12,8 @@ | |||
| <link href="static/css/main.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/index.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/homesteadDetail.css" rel="stylesheet" type="text/css" /> | |||
| <script src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script> | |||
| <link href="../static/css/ol/ol.css" rel="stylesheet" type="text/css" /> | |||
| <script src="../static/js/common/ol.js"></script> | |||
| </head> | |||
| <body> | |||
| @@ -67,7 +68,7 @@ | |||
| <p class="detail_tit">详细信息</p> | |||
| <p class="phoneIcon"><img src="static/images/dialog_icon_3.png" alt=""></p> | |||
| <i class="sanjiao-left"></i> | |||
| <p class="phone">15925781687 王程程</p> | |||
| <p class="phone">{{phone}} {{leader}}</p> | |||
| </div> | |||
| <div class="dialog_table"> | |||
| @@ -155,11 +156,6 @@ | |||
| <div id="container"></div> | |||
| </div> | |||
| </script> | |||
| <!-- <script>--> | |||
| <!-- var map = new BMapGL.Map('container'); // 创建Map实例--> | |||
| <!-- map.centerAndZoom(new BMapGL.Point(116.320938,39.950026), 18); // 初始化地图,设置中心点坐标和地图级别--> | |||
| <!-- map.enableScrollWheelZoom(false); // 开启鼠标滚轮缩放--> | |||
| <!-- </script>--> | |||
| </div> | |||
| <div class="footer" id="webContent"> | |||
| @@ -12,7 +12,8 @@ | |||
| <link href="static/css/main.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/index.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/homesteadDetail.css" rel="stylesheet" type="text/css" /> | |||
| <script src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script> | |||
| <link href="../static/css/ol/ol.css" rel="stylesheet" type="text/css" /> | |||
| <script src="../static/js/common/ol.js"></script> | |||
| </head> | |||
| <body> | |||
| @@ -136,11 +137,6 @@ | |||
| <div id="container"></div> | |||
| </div> | |||
| </script> | |||
| <!-- <script>--> | |||
| <!-- var map = new BMapGL.Map('container'); // 创建Map实例--> | |||
| <!-- map.centerAndZoom(new BMapGL.Point(116.320938,39.950026), 18); // 初始化地图,设置中心点坐标和地图级别--> | |||
| <!-- map.enableScrollWheelZoom(false); // 开启鼠标滚轮缩放--> | |||
| <!-- </script>--> | |||
| </div> | |||
| <div class="footer" id="webContent"> | |||
| @@ -12,7 +12,8 @@ | |||
| <link href="static/css/main.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/index.css" rel="stylesheet" type="text/css" /> | |||
| <link href="static/css/homesteadDetail.css" rel="stylesheet" type="text/css" /> | |||
| <script src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script> | |||
| <link href="../static/css/ol/ol.css" rel="stylesheet" type="text/css" /> | |||
| <script src="../static/js/common/ol.js"></script> | |||
| </head> | |||
| <body> | |||
| @@ -126,11 +127,6 @@ | |||
| <div id="container"></div> | |||
| </div> | |||
| </script> | |||
| <!-- <script>--> | |||
| <!-- var map = new BMapGL.Map('container'); // 创建Map实例--> | |||
| <!-- map.centerAndZoom(new BMapGL.Point(116.320938,39.950026), 18); // 初始化地图,设置中心点坐标和地图级别--> | |||
| <!-- map.enableScrollWheelZoom(false); // 开启鼠标滚轮缩放--> | |||
| <!-- </script>--> | |||
| </div> | |||
| <div class="footer" id="webContent"> | |||
| @@ -103,6 +103,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // name: item.centerName, | |||
| // centerDeptId: item.deptId, | |||
| level: 'homestead', | |||
| id: item.id | |||
| }); | |||
| features.push(iconFeature); | |||
| } | |||
| @@ -241,6 +242,33 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| // 地图点击事件 | |||
| module.data.map.on("click", (evt) => { | |||
| let feature = module.data.map.forEachFeatureAtPixel( | |||
| evt.pixel, | |||
| (feature) => feature | |||
| ); | |||
| if (feature) { | |||
| if (feature.get('level') === 'homestead') { | |||
| openDialog(feature.get('id')); | |||
| } | |||
| } | |||
| }); | |||
| // 鼠标指针移动到指定的feature上,改变鼠标指针的样式为 pointer(小手) | |||
| module.data.map.on('pointermove', (evt) => { | |||
| if (evt.dragging) { | |||
| return ; | |||
| } | |||
| const pixel = module.data.map.getEventPixel(evt.originalEvent); | |||
| // const hit = module.data.map.hasFeatureAtPixel(pixel); | |||
| // let features = module.data.map.getFeaturesAtPixel(pixel); | |||
| const hit = module.data.map.forEachFeatureAtPixel(pixel, function (feature) { | |||
| if (feature && feature.get('level') === 'homestead') { | |||
| return true; | |||
| } | |||
| }); | |||
| module.data.map.getTargetElement().style.cursor = hit ? 'pointer' : ''; | |||
| }); | |||
| } | |||
| selectChange = function(){ | |||
| @@ -302,7 +330,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| turnThePage = function (pageNum) { | |||
| tools.doGet(zjdzdxxList, { | |||
| deptId: 187, | |||
| deptId: $('#treeselectSecondContent').val() == null ? 100 : $('#treeselectSecondContent').val(), | |||
| translate_dict: 1, | |||
| pageNum: pageNum, | |||
| pageSize: 10, | |||
| @@ -5,7 +5,10 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| //数据存储 | |||
| var module = { | |||
| data: { | |||
| propertyList:'' | |||
| propertyList:'', | |||
| phone: '', | |||
| leader: '', | |||
| map: '', // 地图图层 | |||
| }, | |||
| }; | |||
| var tools = new Tools(); | |||
| @@ -18,6 +21,84 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // map.enableScrollWheelZoom(false); // 开启鼠标滚轮缩放 | |||
| }; | |||
| module.useContent = function (data) { | |||
| if (data.code == 200) { | |||
| module.data.phone = data.data.phone; | |||
| module.data.leader = data.data.leader; | |||
| var propertyDetailData = template('propertyDetailData', module.data); | |||
| $("#propertyDetailContent").html(propertyDetailData); | |||
| initMap(data.data); | |||
| } | |||
| } | |||
| initMap = function (dept) { | |||
| document.getElementById("container").innerHTML = ""; | |||
| // 定义地图投影 | |||
| let projection = new ol.proj.Projection({ | |||
| code: "EPSG:3857", | |||
| units: "degrees", | |||
| }); | |||
| // 定义地图图层 | |||
| let aerial = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/img_w/wmts?" + | |||
| "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
| "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "卫星影像图", | |||
| }); | |||
| let yingxzi = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "天地图文字标注--卫星影像图", | |||
| }); | |||
| //加载地图 | |||
| module.data.map = new ol.Map({ | |||
| controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), | |||
| layers: [aerial, yingxzi], | |||
| projection: projection, | |||
| target: "container", | |||
| view: new ol.View({ | |||
| // center: mapCenterLocation, // 地图中心坐标 | |||
| zoom: 16, | |||
| minZoom: 1, //地图缩小限制 | |||
| maxZoom: 18, //地图放大限制 | |||
| }), | |||
| /*interactions: ol.interaction.defaults({ | |||
| doubleClickZoom: false, // 双击放大地图 | |||
| // mouseWheelZoom: false, // 鼠标滚轮放大地图 | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| if (module.data.propertyDetail && module.data.propertyDetail.theGeomJson) { | |||
| const homesteadDetail = new ol.layer.Vector({ | |||
| source: new ol.source.Vector({ | |||
| features: new ol.format.GeoJSON().readFeatures(module.data.propertyDetail.theGeomJson), | |||
| }), | |||
| name: 'homesteadDetail', | |||
| style: new ol.style.Style({ | |||
| fill: new ol.style.Fill({ | |||
| //矢量图层填充颜色,以及透明度 | |||
| color: "rgba(22, 233, 15, 0.3)", | |||
| }), | |||
| stroke: new ol.style.Stroke({ | |||
| //边界样式 | |||
| color: "#16E90F", | |||
| width: 2, | |||
| }), | |||
| }) | |||
| }); | |||
| module.data.map.addLayer(homesteadDetail); | |||
| module.data.map.getView().setCenter(ol.extent.getCenter(homesteadDetail.getSource().getExtent())); | |||
| } else { | |||
| module.data.map.getView().setCenter(ol.proj.fromLonLat([dept.lng, dept.lat])); | |||
| } | |||
| } | |||
| module.webList = function (data) { | |||
| if (data.code == 200) { | |||
| var content = data.rows; | |||
| @@ -38,6 +119,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| tableName: 't_homestead_zjdzdxx', | |||
| bizPath: 'home' | |||
| }, module.attachmentDetail , true); | |||
| tools.doGet(treeselectSecond+content.deptId, {}, module.useContent , true); | |||
| // var propertyDetailData = template('propertyDetailData', module.data); | |||
| // $("#propertyDetailContent").html(propertyDetailData); | |||
| // $('#dialog').css('display','block'); | |||
| @@ -100,6 +100,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // name: item.centerName, | |||
| // centerDeptId: item.deptId, | |||
| level: 'permanent', | |||
| id: item.id | |||
| }); | |||
| features.push(iconFeature); | |||
| } | |||
| @@ -248,6 +249,33 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| // 地图点击事件 | |||
| module.data.map.on("click", (evt) => { | |||
| let feature = module.data.map.forEachFeatureAtPixel( | |||
| evt.pixel, | |||
| (feature) => feature | |||
| ); | |||
| if (feature) { | |||
| if (feature.get('level') === 'permanent') { | |||
| openDialog(feature.get('id')); | |||
| } | |||
| } | |||
| }); | |||
| // 鼠标指针移动到指定的feature上,改变鼠标指针的样式为 pointer(小手) | |||
| module.data.map.on('pointermove', (evt) => { | |||
| if (evt.dragging) { | |||
| return ; | |||
| } | |||
| const pixel = module.data.map.getEventPixel(evt.originalEvent); | |||
| // const hit = module.data.map.hasFeatureAtPixel(pixel); | |||
| // let features = module.data.map.getFeaturesAtPixel(pixel); | |||
| const hit = module.data.map.forEachFeatureAtPixel(pixel, function (feature) { | |||
| if (feature && feature.get('level') === 'permanent') { | |||
| return true; | |||
| } | |||
| }); | |||
| module.data.map.getTargetElement().style.cursor = hit ? 'pointer' : ''; | |||
| }); | |||
| } | |||
| selectChange = function(){ | |||
| @@ -5,7 +5,8 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| //数据存储 | |||
| var module = { | |||
| data: { | |||
| propertyList:'' | |||
| propertyList:'', | |||
| map: '', // 地图图层 | |||
| }, | |||
| }; | |||
| var tools = new Tools(); | |||
| @@ -24,6 +25,82 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| module.data.leader = data.data.leader; | |||
| var propertyDetailData = template('propertyDetailData', module.data); | |||
| $("#propertyDetailContent").html(propertyDetailData); | |||
| initMap(data.data); | |||
| } | |||
| } | |||
| initMap = function (dept) { | |||
| document.getElementById("container").innerHTML = ""; | |||
| // 定义地图投影 | |||
| let projection = new ol.proj.Projection({ | |||
| code: "EPSG:3857", | |||
| units: "degrees", | |||
| }); | |||
| // 定义地图图层 | |||
| let aerial = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/img_w/wmts?" + | |||
| "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
| "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "卫星影像图", | |||
| }); | |||
| let yingxzi = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "天地图文字标注--卫星影像图", | |||
| }); | |||
| //加载地图 | |||
| module.data.map = new ol.Map({ | |||
| controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), | |||
| layers: [aerial, yingxzi], | |||
| projection: projection, | |||
| target: "container", | |||
| view: new ol.View({ | |||
| // center: mapCenterLocation, // 地图中心坐标 | |||
| zoom: 16, | |||
| minZoom: 1, //地图缩小限制 | |||
| maxZoom: 18, //地图放大限制 | |||
| }), | |||
| /*interactions: ol.interaction.defaults({ | |||
| doubleClickZoom: false, // 双击放大地图 | |||
| // mouseWheelZoom: false, // 鼠标滚轮放大地图 | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| if (module.data.propertyDetail && module.data.propertyDetail.theGeom) { | |||
| const permanentLayer = new ol.layer.Vector({ | |||
| source: new ol.source.Vector({ | |||
| features: new ol.format.GeoJSON().readFeatures(module.data.propertyDetail.theGeom), | |||
| }), | |||
| name: 'permanentDetail', | |||
| style: new ol.style.Style({ | |||
| image: new ol.style.Icon({ | |||
| //设置图标偏移 | |||
| anchor: [0.5, 1], | |||
| //标注样式的起点位置 | |||
| anchorOrigin: "top-right", | |||
| //X方向单位:分数 | |||
| anchorXUnits: "fraction", | |||
| //Y方向单位:像素 | |||
| anchorYUnits: "pixels", | |||
| //偏移起点位置的方向 | |||
| offsetOrigin: "top-right", | |||
| //透明度 | |||
| opacity: 0.9, | |||
| //图片路径 | |||
| src: '/infoport/static/images/zc_icon.png', | |||
| }) | |||
| }) | |||
| }); | |||
| module.data.map.addLayer(permanentLayer); | |||
| module.data.map.getView().setCenter(ol.extent.getCenter(permanentLayer.getSource().getExtent())); | |||
| } else { | |||
| module.data.map.getView().setCenter(ol.proj.fromLonLat([dept.lng, dept.lat])); | |||
| } | |||
| } | |||
| @@ -102,6 +102,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // name: item.centerName, | |||
| // centerDeptId: item.deptId, | |||
| level: 'resource', | |||
| id: item.id | |||
| }); | |||
| features.push(iconFeature); | |||
| } | |||
| @@ -239,6 +240,33 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| // 地图点击事件 | |||
| module.data.map.on("click", (evt) => { | |||
| let feature = module.data.map.forEachFeatureAtPixel( | |||
| evt.pixel, | |||
| (feature) => feature | |||
| ); | |||
| if (feature) { | |||
| if (feature.get('level') === 'resource') { | |||
| openDialog(feature.get('id')); | |||
| } | |||
| } | |||
| }); | |||
| // 鼠标指针移动到指定的feature上,改变鼠标指针的样式为 pointer(小手) | |||
| module.data.map.on('pointermove', (evt) => { | |||
| if (evt.dragging) { | |||
| return ; | |||
| } | |||
| const pixel = module.data.map.getEventPixel(evt.originalEvent); | |||
| // const hit = module.data.map.hasFeatureAtPixel(pixel); | |||
| // let features = module.data.map.getFeaturesAtPixel(pixel); | |||
| const hit = module.data.map.forEachFeatureAtPixel(pixel, function (feature) { | |||
| if (feature && feature.get('level') === 'resource') { | |||
| return true; | |||
| } | |||
| }); | |||
| module.data.map.getTargetElement().style.cursor = hit ? 'pointer' : ''; | |||
| }); | |||
| } | |||
| selectChange = function(){ | |||
| @@ -297,7 +325,7 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| turnThePage = function (pageNum) { | |||
| tools.doGet(resourceList, { | |||
| deptId: 187, | |||
| deptId: $('#treeselectSecondContent').val() == null ? 100 : $('#treeselectSecondContent').val(), | |||
| translate_dict: 1, | |||
| pageNum: pageNum, | |||
| pageSize: 10, | |||
| @@ -5,7 +5,8 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| //数据存储 | |||
| var module = { | |||
| data: { | |||
| propertyList:'' | |||
| propertyList:'', | |||
| map: '', // 地图图层 | |||
| }, | |||
| }; | |||
| var tools = new Tools(); | |||
| @@ -24,6 +25,75 @@ define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function | |||
| module.data.leader = data.data.leader; | |||
| var propertyDetailData = template('propertyDetailData', module.data); | |||
| $("#propertyDetailContent").html(propertyDetailData); | |||
| initMap(data.data); | |||
| } | |||
| } | |||
| initMap = function (dept) { | |||
| document.getElementById("container").innerHTML = ""; | |||
| // 定义地图投影 | |||
| let projection = new ol.proj.Projection({ | |||
| code: "EPSG:3857", | |||
| units: "degrees", | |||
| }); | |||
| // 定义地图图层 | |||
| let aerial = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/img_w/wmts?" + | |||
| "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
| "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "卫星影像图", | |||
| }); | |||
| let yingxzi = new ol.layer.Tile({ | |||
| source: new ol.source.XYZ({ | |||
| url: "http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
| }), | |||
| isGroup: true, | |||
| name: "天地图文字标注--卫星影像图", | |||
| }); | |||
| //加载地图 | |||
| module.data.map = new ol.Map({ | |||
| controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), | |||
| layers: [aerial, yingxzi], | |||
| projection: projection, | |||
| target: "container", | |||
| view: new ol.View({ | |||
| // center: mapCenterLocation, // 地图中心坐标 | |||
| zoom: 16, | |||
| minZoom: 1, //地图缩小限制 | |||
| maxZoom: 18, //地图放大限制 | |||
| }), | |||
| /*interactions: ol.interaction.defaults({ | |||
| doubleClickZoom: false, // 双击放大地图 | |||
| // mouseWheelZoom: false, // 鼠标滚轮放大地图 | |||
| // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图 | |||
| })*/ | |||
| }); | |||
| if (module.data.propertyDetail && module.data.propertyDetail.theGeomJson) { | |||
| const resourceDetail = new ol.layer.Vector({ | |||
| source: new ol.source.Vector({ | |||
| features: new ol.format.GeoJSON().readFeatures(module.data.propertyDetail.theGeomJson), | |||
| }), | |||
| name: 'resourceDetail', | |||
| style: new ol.style.Style({ | |||
| fill: new ol.style.Fill({ | |||
| //矢量图层填充颜色,以及透明度 | |||
| color: "rgba(255, 255, 0, 0.3)", | |||
| }), | |||
| stroke: new ol.style.Stroke({ | |||
| //边界样式 | |||
| color: "#ffff00", | |||
| width: 2, | |||
| }), | |||
| }) | |||
| }); | |||
| module.data.map.addLayer(resourceDetail); | |||
| module.data.map.getView().setCenter(ol.extent.getCenter(resourceDetail.getSource().getExtent())); | |||
| } else { | |||
| module.data.map.getView().setCenter(ol.proj.fromLonLat([dept.lng, dept.lat])); | |||
| } | |||
| } | |||