前端解析超图的iserver xml

前端解析超图的iserver xml

javascript 复制代码
        const res = await axios.get(url)
        const xmlDom = new DOMParser().parseFromString(res.data, 'text/xml');

        // 获取version
        const version = xmlDom.getElementsByTagNameNS('*', 'ServiceTypeVersion')[0].textContent
        // 获取layer
        const layerDom = xmlDom.getElementsByTagNameNS('*', 'Layer')[0]
        const layer = layerDom.getElementsByTagNameNS('*', 'Identifier')[0].textContent
        // 获取style
        const styleDom = layerDom.getElementsByTagNameNS('*', 'Style')[0]
        const style = styleDom.getElementsByTagNameNS('*', 'Identifier')[0].textContent
        // 获取format
        const format = layerDom.getElementsByTagNameNS('*', 'Format')[0].textContent
        // 获取crs
        const crsBoundingBox = layerDom.getElementsByTagNameNS('*', 'BoundingBox')[1]
        const crs = crsBoundingBox.attributes.crs.value
        // 获取TileMatrixSet
        const TileMatrixSetBox = layerDom.getElementsByTagNameNS('*', 'TileMatrixSet')[2]
        const TileMatrixSet = TileMatrixSetBox.textContent
        // 获取serviceUrl
        const ResourceURL = layerDom.getElementsByTagNameNS('*', 'ResourceURL')[0]
        const serviceUrl = ResourceURL.attributes.template.value.replace('{TileMatrixSet}', TileMatrixSet)
        // 获取四至
        const boundingBox = layerDom.getElementsByTagNameNS('*', 'BoundingBox')[0]
        const lowerCorner = boundingBox.getElementsByTagNameNS('*', 'LowerCorner')[0].textContent
        const upperCorner = boundingBox.getElementsByTagNameNS('*', 'UpperCorner')[0].textContent
        const xMin = parseFloat(lowerCorner.split(' ')[0])
        const yMin = parseFloat(lowerCorner.split(' ')[1])
        const xMax = parseFloat(upperCorner.split(' ')[0])
        const yMax = parseFloat(upperCorner.split(' ')[1])
相关推荐
群联云防护小杜几秒前
黑客如何找到App中的源IP:原理与防范
运维·服务器·前端·网络·网络协议·tcp/ip
Αиcíеиτеǎг38 分钟前
基于前端技术UniApp和后端技术Node.js的电影购票系统
前端·uni-app·node.js
licy__40 分钟前
Vue 3 中页面跳转方式的详细介绍
前端·javascript·vue.js
前端热爱者1 小时前
vue-element-admin npm install 安装失败,tui-editor更名导致
前端·vue.js·npm·tui-editor
excel1 小时前
创意标题匹配问题
前端
tester Jeffky1 小时前
深入探索Vue.js中的class绑定:动态样式管理的核心机制
前端·javascript·vue.js
wsdf6gu1 小时前
**掌握文本切分:在自然语言处理中的应用技巧**
前端
桃园码工1 小时前
5_HTML5 SVG (1) --[HTML5 API 学习之旅]
前端·html5·svg
是阿苏ya1 小时前
三分钟学会开发一个谷歌插件!
前端
kk爱闹1 小时前
弹窗组件嵌套弹窗组件问题
前端·javascript·vue.js