Vue + OpenLayers 配置多个地图数据源

Vue + OpenLayers 配置多个地图数据源 0和1表示部署的离线瓦片天地图和卫星云图, 2表示OSM, 3表示使用Arcgis在线午夜蓝地图服务。

直接上代码:

Basemap.js

import { Map, View } from "ol";
import TileLayer from "ol/layer/Tile";
import { OSM, XYZ, TileArcGISRest } from "ol/source";

let mapType = 2;   // 配置地图数据源 0和1表示部署的离线瓦片天地图和卫星云图, 2表示OSM, 3表示使用Arcgis在线午夜蓝地图服务

var basemapLayer = function() {
	
	var mapLayer = null;
	
	switch( mapType ) {
	    case 0:
	        mapLayer = new TileLayer({
	            source: new XYZ({
	                url:'http://192.168.0.142:8090/basemap/streetmap/{z}/{x}/{y}.png'
	            })
	        })
	    break;
		case 1:
		    mapLayer = new TileLayer({
		        source: new XYZ({
		            url:'http://192.168.0.142:8090/basemap/satellitemap/{z}/{x}/{y}.png'
		        })
		    })
		break;
	    case 2:
	        mapLayer = new TileLayer({
	            source: new OSM()
	        })
	    break;
	    case 3:
	        mapLayer = new TileLayer({
	            source: new TileArcGISRest({
	                url:'https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer'
	            })
	        })
	    break;
	}
	return mapLayer;
}

var Basemap = {
	center: [121.480337, 31.236943], // 中心点地理坐标系经度和纬度
    zoom: 4,        //地图缩放级别
    maplayer: basemapLayer,
};

export default Basemap

 GisTest.vue

<template>
	<div id="map"></div>
</template>

<script>
import "ol/ol.css";
import { Map, View } from "ol";
import { fromLonLat, transform } from "ol/proj";
import Basemap from '../config/Basemap.js';

export default {
  data() {
    return {
      map: {}
    };
  },
  
  mounted() {
    this.map = new Map({
      target: document.getElementById("map"),
      layers: [ Basemap.maplayer() ],
      view: new View({
		center: fromLonLat(Basemap.center),  // 南京
        zoom: Basemap.zoom
      })
    });
  }
};

</script>

<style>
#map{
	align-items: center;
	height: 100%;
	width: 100%;
	background-color: #E3FBFC;
}
</style>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值