Merge remote-tracking branch 'origin/master'
| | |
| | | border-color: @color; |
| | | } |
| | | |
| | | .el-tabs{ |
| | | .el-tabs__item{ |
| | | padding: 0 10px; |
| | | text-align: center; |
| | | height: 20px; |
| | | line-height: 20px; |
| | | } |
| | | } |
| | | .select-down { |
| | | border: none !important; |
| | | background-color: @background-color !important; |
| | |
| | | <div v-for="item in serviceLayers" :key="item.code" class="layerbox"> |
| | | <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" |
| | | @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)" |
| | | class="btn-filter">过滤</span> |
| | | class="btn-filter">过滤</span><span @click="loadWfs()" |
| | | class="btn-filter">测试</span> |
| | | </div> |
| | | <div class="layerbox-item"> |
| | | <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import WmsHelper from '../../helpers/WmsHelper' |
| | | import AjaxUtils from '@/utils/AjaxUtils' |
| | | import WfsHelper from '../../helpers/WfsHelper' |
| | | import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter' |
| | | import AjaxUtils from '../../../utils/AjaxUtils' |
| | | |
| | | export default { |
| | | name: 'LcServiceLayer', |
| | |
| | | this.updateWms() |
| | | }, |
| | | loadWfs () { |
| | | AjaxUtils.GetDataAsynByUrl('http://xearth.cn:6289/server/ogcserver/PipeLineTest/wfs?version=1.0.0&TYPENAME=pipeline&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', {}, (res) => { |
| | | window.L.geoJSON(res).addTo(window.map) |
| | | var wfsHelper = new WfsHelper() |
| | | wfsHelper.addTypeName('管线点') |
| | | wfsHelper.addEquals('pipename', '研究院01路YS000001') |
| | | |
| | | AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => { |
| | | console.log(res) |
| | | }) |
| | | }, |
| | | swWmsLayer (url, itm) { |
| | |
| | | }, |
| | | updateWms () { |
| | | var mapConfig = this.mapConfig |
| | | var wmsHelper = new WmsHelper() |
| | | var wmsHelper = new WfsHelper() |
| | | wmsHelper.initMapConfig(mapConfig) |
| | | var wmsLayersMap = wmsHelper.getWmsLayersMap() |
| | | for (var k in wmsLayersMap) { |
| | |
| | | }) |
| | | } |
| | | }).bindPopup(function (layer) { |
| | | that.popupComp.setDatas(layer.feature) |
| | | that.popupComp.setDatas(layer) |
| | | that.popupComp.setShow() |
| | | return that.popupComp.$el |
| | | }, { |
New file |
| | |
| | | /** |
| | | * 加载WMS,拼接FILTER,LAYERS参数等 |
| | | */ |
| | | import MapConfig from '../../conf/MapConfig' |
| | | function WfsHelper () { |
| | | this.filters = [] |
| | | this.typeNames = [] |
| | | this.url = MapConfig.BLUEMAP_HOST + '/server/ogcserver/PipeLine/wfs' |
| | | this.params = { |
| | | REQUEST: 'getfeature', |
| | | OUTPUTFORMAT: 'JSON', |
| | | maxFeatures: 20000, |
| | | version: '1.0.0' |
| | | } |
| | | |
| | | this.addTypeName = (typeName) => { |
| | | this.typeNames.push(typeName) |
| | | } |
| | | |
| | | this.addEquals = (property, literal) => { |
| | | var filter = '<PropertyIsEqualTo><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsEqualTo>' |
| | | this.filters.push(filter) |
| | | } |
| | | |
| | | this.addLike = (property, literal) => { |
| | | var filter = '<PropertyIsLike><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsLike>' |
| | | this.filters.push(filter) |
| | | } |
| | | |
| | | /** |
| | | * 得到filter参数值 |
| | | * @returns {string|null} |
| | | */ |
| | | this.getFilterParams = () => { |
| | | var head = '<Filter xmlns="http://www.opengis.net/ogc">' |
| | | var end = '</Filter>' |
| | | var filter = '' |
| | | if (this.filters.length > 0) { |
| | | for (var i = 0; i < this.filters.length; i++) { |
| | | filter += this.filters[i] |
| | | } |
| | | // 当条件数 > 1时,需要用and标签包裹 |
| | | if (this.filters.length > 1) { |
| | | return ('FILTER=' + head + '<And>' + filter + '</And>' + end) |
| | | } |
| | | return ('FILTER=' + head + filter + end) |
| | | } |
| | | return null |
| | | } |
| | | |
| | | this.getUrlParams = () => { |
| | | var params = '' |
| | | for (var p in this.params) { |
| | | params += (p + '=' + this.params[p] + '&') |
| | | } |
| | | // 拼接typename参数 |
| | | params += 'typename=' + this.typeNames.join(',') |
| | | // 拼接filter参数 |
| | | var filterParam = this.getFilterParams() |
| | | if (filterParam) { |
| | | params += '&' + filterParam |
| | | } |
| | | return encodeURI(params) |
| | | } |
| | | |
| | | this.getUrl = () => { |
| | | var url = this.url |
| | | if (url.indexOf('?') > 0) { |
| | | url += '&' |
| | | } else { |
| | | url += '?' |
| | | } |
| | | return url + this.getUrlParams() |
| | | } |
| | | } |
| | | |
| | | export default WfsHelper |
| | |
| | | embeddingmode: '埋设方式', |
| | | pipetrenchtype: '管沟类型', |
| | | datecollected: '探测时间', |
| | | operationalstatus: '运行状态' |
| | | operationalstatus: '运行状态', |
| | | acquisitionpeople: '采集人', |
| | | acquisitiondate: '采集日期', |
| | | fourtype: '四通类型', |
| | | fourm: '四通材料' |
| | | } |
| | |
| | | const HOST_URL = curWwwPath.substring(0, pos) |
| | | |
| | | // service主机配置 |
| | | const APP_GIS_HOST = 'http://xearth.cn:6299' |
| | | // const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6289' |
| | | // const APP_GIS_HOST = 'http://xearth.cn:6299' |
| | | const APP_GIS_HOST = 'http://xearth.cn:6289' |
| | | |
| | | // 自定义主机配置 |
| | | const BLUEMAP_HOST = APP_GIS_HOST // 公司发布的地图服务,用于测试的地址 |
| | |
| | | <template> |
| | | <div id="popup" v-if="isShow" class="s-map-popup-panel"> |
| | | <el-tabs v-model="tabsValue" type="card" @edit="handleTabsEdit"> |
| | | <el-tabs v-model="tabsValue" type="card"> |
| | | <el-tab-pane |
| | | :key="item.name" |
| | | v-for="(item) in tabs" |
| | |
| | | :name="item.name" |
| | | > |
| | | <el-row v-for="(v,k) in filter" :key="k"> |
| | | <el-col :span="12">{{k}}</el-col> |
| | | <el-col :span="12">{{v}}</el-col> |
| | | <el-col :span="10"><B>{{k}}:</B></el-col> |
| | | <el-col :span="14">{{v}}</el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | data () { |
| | | return { |
| | | tabsValue: '1', |
| | | tabs: [{ |
| | | title: '污雨水', |
| | | name: '1' |
| | | }], |
| | | tabs: [], |
| | | tabIndex: 2, |
| | | isShow: false, |
| | | properties: {}, |
| | |
| | | this.editableTabs = tabs.filter(tab => tab.name !== targetName) |
| | | } |
| | | }, |
| | | setDatas (feature) { |
| | | this.properties = feature.properties |
| | | setDatas (layer) { |
| | | this.tabs = [{ |
| | | title: layer.feature.id, |
| | | name: '1' |
| | | }] |
| | | this.properties = layer.feature.properties |
| | | }, |
| | | setShow () { |
| | | // this.style.display='auto' |