Vue中使用openlayers

安装openlayers

网址:npm-ol

安装:npm install ol



引用

参考网址:简单的地图



代码如下

注:我使用了一个新的页面

1、在components文件下,新建一个新的map.vue文件

代码如下:



<template>

  <div>

    <div id="map" ref="map">

    </div>

  </div>

</template>

<script>

  import Map from 'ol/Map.js'

  import '../../node_modules/ol/ol.css'

  import OSM from 'ol/source/OSM.js'

  import TileLayer from 'ol/layer/Tile';

  import {getLayers} from 'ol/Map.js'

  import View from 'ol/View.js'

  import {fromLonLat, toLonLat} from 'ol/proj.js'

  export default {

    name: "index",

    data() {

      return {

        map: null

      }

},

  mounted:

    mounted() {

     this.mapint()

},

    methods: {

mapint(){

    var map = this.$refs.map

     var layer = new TileLayer({     

          source: new OSM(),       

           wrapX:false      })     

     this.map = new Map({ 

        target: 'map',       

        layers:[layer],   

        view: new View({         

                center: fromLonLat([116, 39]),             

                 zoom: 5        })})

}

}

</script>

<style lang="scss" scoped>

  #map {

position:absolute;

    /*top:100px;*/

    bottom:0px;

    width:100%;

    height:100%;

  }

</style>



2、显示,在配置路由router.js文件中引入:


import map from '@/components/map'



在const routes中添加如下代码 :



{

  path: '/',

  name: 'map',

  component: map

}



效果如下图


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,163评论 0 10
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,807评论 1 32
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 13,282评论 1 52
  • 很多人虽然都心有所想,却很少有人坚持不懈地努力下去。只要时刻保持这种“想要”的念头,久而久之就能凝聚积累成一...
    如歌z阅读 1,865评论 0 0
  • 1. 2.共享onload事件addLoadEvent 3.insertAfter函数 4.获得下一个元素节点(而...
    雪妮爸爸阅读 1,397评论 0 0