vue+openlayers 环境搭建(二)

1、vue脚手架环境搭建成功后,执行cnpm i -S ol 安装ol环境,执行成功后node_modules下会有ol文件夹。

2、新建ol组件并引入ol脚本。

import "../../node_modules/ol/ol.css";

import { get as getProjection } from "../../node_modules/ol/proj";

import { getWidth, getTopLeft } from "../../node_modules/ol/extent";

import View from "../../node_modules/ol/View";

import Map from "../../node_modules/ol/Map";

import TileLayer from "../../node_modules/ol/layer/Tile";

import WMTS from "../../node_modules/ol/source/WMTS";

import WMTSTileGrid from "../../node_modules/ol/tilegrid/WMTS";

import VectorSource from "../../node_modules/ol/source/Vector";

import VectorLayer from "../../node_modules/ol/layer/Vector";

import Feature from "../../node_modules/ol/Feature";

import Point from "../../node_modules/ol/geom/Point";

import olStyle from "../../node_modules/ol/style/Style";

import olstyleIcon from "../../node_modules/ol/style/Icon";

import olstyleText from "../../node_modules/ol/style/Text";

import olstyleFill from "../../node_modules/ol/style/Fill";

import olstyleStroke from "../../node_modules/ol/style/Stroke";

import { defaults as defaultControls } from "../../node_modules/ol/control";

import MousePosition from "../../node_modules/ol/control/MousePosition";

import { createStringXY } from "../../node_modules/ol/coordinate";

3、初始化加载天地图

var mapcontainer = this.$refs.rootmap;

    //渲染地图

    var projection = getProjection("EPSG:4326");

    var projectionExtent = projection.getExtent();

    var size = getWidth(projectionExtent) / 256;

    var resolutions = new Array(18);

    var matrixIds = new Array(18);

    for (var z = 1; z < 19; ++z) {

      resolutions[z] = size / Math.pow(2, z);

      matrixIds[z] = z;

    }

 

    this.map = new Map({

      target: "vecmap",

      layers: [

        new TileLayer({

          source: new WMTS({

            name: "中国矢量1-14级",

            url:

              "http://t{0-6}.tianditu.com/vec_c/wmts?tk=",

            layer: "vec",

            style: "default",

            matrixSet: "c",

            format: "tiles",

            wrapX: true,

            style: "default",

            projection: "EPSG:4326",

            tileGrid: new WMTSTileGrid({

              origin: getTopLeft(projectionExtent),

              resolutions: resolutions,

              matrixIds: matrixIds

            })

          })

        }),

        new TileLayer({

          source: new WMTS({

            name: "中国矢量注记1-14级",

            url:

              "http://t{0-6}.tianditu.com/cva_c/wmts?tk=",

            layer: "cva",

            style: "default",

            matrixSet: "c",

            format: "tiles",

            wrapX: true,

            style: "default",

            projection: "EPSG:4326",

            tileGrid: new WMTSTileGrid({

              origin: getTopLeft(projectionExtent),

              resolutions: resolutions,

              matrixIds: matrixIds

            })

          })

        })

      ],

      view: new View({

        projection: "EPSG:4326", //使用这个坐标系

        center: [118.236, 28.365],

        zoom: 3,

        maxZoom: 19,

        minZoom: 1

      })

    });

  }

4、效果图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值