Vue单页面组件mapbox gl怎么用

这篇文章给大家分享的是有关Vue单页面组件mapbox gl怎么用  的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用Vue开发地图的时候,鉴于也不熟悉Vue,就将mapbox gl以单页面的形式做成了组件,共享map实例进行地图操作开发。具体的实现如下:  
安装mapbox gl 类库:通过npm install mapbox-gl --save安装类库,或者国内的cnpm也可以。新建Vue的模版页:div承载mapbox gl地图  

<template>

  <div>

    <div ref="basicMapbox"></div>

  </div>

</template>

通过脚本代码添加mapbox的对象:需要在mounted里,进行mapbox gl的初始化,container属性,通过ref指向div。

<script>

import mapboxgl from "mapbox-gl";

export default {

  data() {

    return {};

  },

  mounted() {

    this.init();

  },

  created: function() { 

  },

  methods: {

    created() {},

    // 初始化

    init() {

      mapboxgl.accessToken =

        "yourtoken";

      const map = new mapboxgl.Map({

        container: this.$refs.basicMapbox,

        maxZoom: 17, 

        style: {

          version: 8,

          name: "mapboxdata",

          sources: {

            tdtbase: {

              type: "raster",

              tiles: [

                "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}" 

              ],

              tileSize: 256

            } 

          },

          layers: [

            {

              id: "tdtbase",

              type: "raster",

              source: "tdtbase",

              minzoom: 0,

              maxzoom: 18

            } 

          ]

        }, 

      }); 

    }

  } 

};

在页面上应用组件:

先引用组件

import map2d from "./组件路径";

在页面上加载

<div  >

      <map2d  ></map2d>

    </div>

这样就能够将组件加载上去。

对于需要操作map对象,可以通过store的方式进行共享,各组件调用  map实例,进行功能实现。  

 this.$store.commit("set2dmap", map);


感谢各位的阅读!关于“Vue单页面组件mapbox gl怎么用  ”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接