zoukankan      html  css  js  c++  java
  • 使用ol进行底图的切换

    使用openLayer进行天地图的显示,以及底图的切换

    <template>
        <div>
        <div id="mapDiv" class="mapDiv">
        </div>
        <button @click="change_img">切换影像底图</button>
        <button @click="change_vec">切换街道底图</button>
        <button @click="change_ter">切换地形底图</button>
      </div>
    
    </template>
    <script>
    
    import MapInit from '../components/tianditu/Mapinit.js';
    import Map from 'ol/Map'
      import View from 'ol/View'
      import TileLayer from 'ol/layer/Tile'
      import OSM from 'ol/source/OSM'
      import XYZ from 'ol/source/XYZ'
      import {fromLonLat} from 'ol/proj.js';
    
    export default ({
        data(){
             return {
            map: null,
            map_img:null,
            map_vec:null,
            map_ter:null,
          }
        },
        methods:{
          
        change_img (){
            var img = new TileLayer({
              source: new XYZ({
                url:  'http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的密钥'
              })
            });
            this.map.addLayer(img)
          },
          change_vec(){
            var map_cva= new TileLayer({
              source: new XYZ({
                url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=你的密钥"
              })
            });
            var map_vec =new TileLayer({
              source: new XYZ({
                url: "http://t4.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=你的密钥"
              })
            });
    
            this.map.addLayer(map_vec);
            this.map.addLayer(map_cva);
            //console.log(this.map.getLayers());
          },
          change_ter(){
            var map_ter =new TileLayer({
              source: new XYZ({
                url: "http://t4.tianditu.com/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk=你的密钥"
              })
            });
            var map_cta =new TileLayer({
              source: new XYZ({
                url:  "http://t4.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=你的密钥"
              })
            });
            this.map.addLayer(map_ter);
            this.map.addLayer(map_cta);
          }
        
    
        
        },
        mounted() {
            
          var view =new View({
            center: fromLonLat([-0.1275, 51.507222]),
            zoom: 6
          })
           var img = new TileLayer({
              source: new XYZ({
                url:  'http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的密钥'
              })
            });
            
          this.map = new Map({
            target: 'mapDiv',
            layers: [          
             img
            ],
            view: view
          })
           
        }
    
    
    })
    </script>
    
    <style scoped>
     #mapDiv {
      100%;
    height:800px;
    }
    
    </style>
  • 相关阅读:
    【1】
    正则表达式 re模块
    模块—— 序列化模块、random模块、os模块 、 sys模块、hashlib模块、collections模块
    编码转换 文件的操作
    函数进阶3 —— 生成器、yield from
    函数的进阶2
    函数进阶 —— 动态参数、内置空间、函数嵌套
    初识函数 函数参数 三元运算
    Sringboot jdbc 操作数据库
    python使用subprocess执行linux命令
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/15241789.html
Copyright © 2011-2022 走看看