• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

第六章vue配置supermap iserver和地图发布-[Vue、Django、supermap iserver和gerapy的生态旅游web系统开发]

武飞扬头像
yopo_AG
帮助1

        本章主要介绍在vue中配置supermap iserver及利用supermap iserver发布地图。

主要配置leaflet和webgl,先将官方提供的库放在public下:

学新通

接着配置: 

  1.  
    //public文件夹index.html
  2.  
    <!DOCTYPE html>
  3.  
    <html lang="">
  4.  
    <head>
  5.  
    <meta charset="utf-8">
  6.  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.  
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
  8.  
    <script src="<%= BASE_URL %>js/include-web.js"></script>
  9.  
    <title>生态旅游资源监管系统</title>
  10.  
    <!-- webgl 样式库 -->
  11.  
    <link rel="stylesheet" href="<%= BASE_URL %>webgl/Cesium/Widgets/widgets.css">
  12.  
    <link rel="stylesheet" href="<%= BASE_URL %>webgl/webgl/css/pretty.css">
  13.  
    <!-- leaflet js 资源 -->
  14.  
    <script src="<%= BASE_URL %>leaflet/include-leaflet.js"></script>
  15.  
    <!-- webgl 资源 -->
  16.  
    <script src="<%= BASE_URL %>webgl/js/config.js"></script>
  17.  
    <script src="<%= BASE_URL %>webgl/Build/Cesium/Cesium.js"></script>
  18.  
    </script>
  19.  
    </head>
  20.  
    <body>
  21.  
    <div id="app"></div>
  22.  
    <!-- built files will be auto injected -->
  23.  
    </body>
  24.  
    </html>

配置好了打开supermap-iserver服务便可直接使用,首先在服务管理中发布地图

学新通

接着在页面中配置

  1.  
    <template>
  2.  
    <div class="sc">
  3.  
    <div class="title">企业空间分布</div>
  4.  
    <div class="map" id="myMap"></div>
  5.  
    </div>
  6.  
    </template>
  7.  
     
  8.  
    <script>
  9.  
    export default {
  10.  
    data() {
  11.  
    return {}
  12.  
    },
  13.  
    methods: {
  14.  
    onPageLoad() {
  15.  
    var map, layer;
  16.  
    // 设置访问的GIS服务地址
  17.  
     
  18.  
    var url1 = "/supermap/map-company/rest/maps/.....";
  19.  
    // 创建地图对象
  20.  
    map = L.map("myMap", {
  21.  
    center: [34, 107.2],//第一维数字增大向下,第二维数字减小向右
  22.  
    maxZoom: 81,
  23.  
    attributionControl: false,
  24.  
    zoom: 8,//设置缩放比例
  25.  
    crs: L.CRS.TianDiTu_WGS84
  26.  
    });
  27.  
    L.supermap.tiandituTileLayer({
  28.  
    key: "0d6442aa9b3b7a2ad47c1a9e2f5cbf81"
  29.  
    }).addTo(map);
  30.  
    L.supermap.tiandituTileLayer({
  31.  
    isLabel: true,
  32.  
    key: "0d6442aa9b3b7a2ad47c1a9e2f5cbf81"
  33.  
    }).addTo(map);
  34.  
    L.supermap.tiledMapLayer(url1, {
  35.  
    transparent: true, opacity: 0.6
  36.  
    }).addTo(map);
  37.  
    document.getElementsByClassName("iclient-leaflet-logo")[0].style.display = "none";
  38.  
    initEditView();//配置图例和比例尺
  39.  
     
  40.  
    function initEditView() {
  41.  
    var legendView = L.control({position: 'bottomright'});
  42.  
    legendView.onAdd = function () {
  43.  
    this._div = L.DomUtil.create('div', 'leaflet-control-clegend');
  44.  
    var legendimg = document.createElement('img');
  45.  
    legendimg.id = 'leaflet-control-clegend';
  46.  
    legendimg.type = 'img';
  47.  
    legendimg.src = require('../../assets/image/QY.png');
  48.  
    this._legendimg = legendimg;
  49.  
    this._div.appendChild(this._legendimg);
  50.  
    return this._div;
  51.  
    };
  52.  
    legendView.addTo(map);
  53.  
    var scaleView = L.control({position: 'topright'});
  54.  
    scaleView.onAdd = function () {
  55.  
    this._div = L.DomUtil.create('div', 'leaflet-control-clegend');
  56.  
    var scaleimg = document.createElement('img');
  57.  
    scaleimg.id = 'leaflet-control-clegend';
  58.  
    scaleimg.type = 'img';
  59.  
    scaleimg.src = require('../../assets/image/scale.png');
  60.  
    this._scaleimg = scaleimg;
  61.  
    this._div.appendChild(this._scaleimg);
  62.  
    return this._div;
  63.  
    };
  64.  
    scaleView.addTo(map);
  65.  
    }
  66.  
     
  67.  
    var url2 = "http://localhost:8090/iserver/services/data-company/rest/data"
  68.  
    query();
  69.  
    var greenIcon = L.icon({
  70.  
    iconUrl: require('../../assets/image/company.png'),
  71.  
    iconSize: [18, 30],
  72.  
    });
  73.  
     
  74.  
    function query() {
  75.  
    var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
  76.  
    queryParameter: {
  77.  
    name: "公司企业@商业监管系统",
  78.  
    attributeFilter: "id>=1"
  79.  
    },
  80.  
    toIndex: -1,
  81.  
    datasetNames: ["商业监管系统:公司企业"]
  82.  
    });
  83.  
    L.supermap
  84.  
    .featureService(url2)
  85.  
    .getFeaturesBySQL(sqlParam, function (serviceResult) {
  86.  
    var features = L.geoJSON(serviceResult.result.features);
  87.  
    var a = Object.values(features._layers);
  88.  
    for (var i = 0; i < a.length; i ) {
  89.  
    var b = Object.values(a[i]._latlng);
  90.  
    var boss = a[i].feature.properties['BOSS'];
  91.  
    var area = a[i].feature.properties['AREA'];
  92.  
    var location = a[i].feature.properties['LOCATION'];
  93.  
    var name = a[i].feature.properties['NAME'];
  94.  
    var type = a[i].feature.properties['TYPE'];
  95.  
    var assets = a[i].feature.properties['ASSETS'];
  96.  
    var createday = a[i].feature.properties['CREATEDAY'];
  97.  
    createday = createday.substr(0, createday.length - 2);
  98.  
    var createmonth = a[i].feature.properties['CREATEMONT'];
  99.  
    createmonth = createmonth.substr(0, createmonth.length - 2);
  100.  
    var createyear = a[i].feature.properties['CREATEYEAR'];
  101.  
    createyear = createyear.substr(0, createyear.length - 2);
  102.  
    var date = createyear '年' createmonth '月' createday '日';
  103.  
    var d = '[公司]:' name '<br>' '[类型:]' type '<br>' '[成立时间:]' date '<br>' '[资产]:' assets '万<br>' '[负责人]:' boss '<br>' '[区域]:' area '<br>' '[地址]:' location;
  104.  
    var marker = L.marker(b, {icon: greenIcon}).addTo(map)
  105.  
    .bindPopup(d);//点击查询功能
  106.  
     
  107.  
    }
  108.  
    });
  109.  
    }
  110.  
    }
  111.  
    },
  112.  
    mounted() {
  113.  
    this.onPageLoad()
  114.  
    }
  115.  
    }
  116.  
    </script>

效果:

学新通

上一章-第五章:element、echarts及axios-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例]

下一章-第七章:空间查询与卷帘操作-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例]

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbheii
系列文章
更多 icon
同类精品
更多 icon
继续加载