vue项目中openlayers的应用

openlayers简介

openlayers官方文档
openlayers专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问

openlayers在vue项目中的应用

安装openlayer

npm install ol -save

按需引用模块

根据项目需要引用对应的ol模块

import TileLayer from 'ol/layer/Tile'
import XYZ from 'ol/source/XYZ'
import OlMap from 'ol/Map'
import OlView from 'ol/View'
import { get as getProjection } from 'ol/proj'
// 图上图标相关
import OlOverlay from 'ol/Overlay'
import OlFeature from 'ol/Feature'
import OlGeomPoint from 'ol/geom/Point'
import OlLayerVector from 'ol/layer/Vector'
import OlSourceVector from 'ol/source/Vector'
import OlStyleStyle from 'ol/style/Style'
import OlStyleIcon from 'ol/style/Icon'
// 用来添加相关文字描述的
import Text from 'ol/style/Text'
import Fill from 'ol/style/Fill'

import VectorLayer from 'ol/layer/Vector'
import VectorSource from 'ol/source/Vector'
import { Map, View, Feature } from 'ol'
import { Style, Icon, Stroke } from 'ol/style'

具体使用

首先需要一个地图容器

<div id="allmap" class="allmap" style="width:100%;height: 100%;overflow: hidden;"></div>

新建一个layer存放地图的底图,这里使用的是谷歌的瓦片图层,url是瓦片图层的路径

let offlineMapLayer = new TileLayer({
   source: new XYZ({
     url: 'static/tiles1/{z}/{x}/{y}.png',
     wrapX: true
   })
 })

确认坐标系,地图中心、缩放等级等

mounted () {
    this.ggmap()
},
methods: {
   ggmap () {
      let targetMap = document.getElementById('allmap')
      let offlineMapLayer = new TileLayer({
        source: new XYZ({
          url: 'static/tiles1/{z}/{x}/{y}.png',
          wrapX: true
        })
      })
      let projection = getProjection('EPSG:4326')
      this.gmap = new OlMap({
        layers: [offlineMapLayer],
        view: new OlView({
          center: [111.20, 29.1], // 地图中心
          projection: projection, // 对应地图的切片规则
          zoom: 9, // 地图初始化渲染等级
          minZoom: 8, // 地图最小缩放等级
          maxZoom: 15, // 地图最大缩放等级
          zoomControl: true// 地图是否可被缩放控制
        }),
        target: targetMap.id
      })
   }
}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值