使用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 {
width: 100%;
height:800px;
}
</style>
浙公网安备 33010602011771号