首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Vue2Leaflet中使用全屏幕传单

如何在Vue2Leaflet中使用全屏幕传单
EN

Stack Overflow用户
提问于 2018-06-05 15:28:45
回答 2查看 2.8K关注 0票数 3

有谁有关于如何将全屏幕传单Vue2传单集成的示例吗?

我在组件中使用Vue2Leaflet (通过npm加载),并将CDN链接添加到index.html中的全屏幕js。但是当全屏js加载时,它无法找到对传单的引用,因为它还没有加载。所以我不知道该怎么按顺序使用它们。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 17:13:27

您需要使用this.$refs.mymap.mapObject访问map对象,并在mounted钩子中添加控件。

首先向ref元素添加一个<l-map />属性:

代码语言:javascript
复制
<l-map :zoom="zoom" :center="center" ref="mymap">
  ...
</l-map>

然后在mounted钩子中添加控件:

代码语言:javascript
复制
mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new L.Control.Fullscreen());
}

参见此小提琴

如果你用webpack的话,就有点不一样了:

1)用npm install leaflet-fullscreen --save安装

2)将jscss文件导入main.js文件(应用程序入口点)或在index.html中使用<script>

代码语言:javascript
复制
import 'leaflet-fullscreen/dist/leaflet.fullscreen.css';
import 'leaflet-fullscreen/dist/Leaflet.fullscreen';

3)在组件中,使用window.L而不是L

代码语言:javascript
复制
mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new window.L.Control.Fullscreen());
}
票数 9
EN

Stack Overflow用户

发布于 2021-07-19 13:58:33

对于那些使用带有vue2传单的Nuxt的用户(并且不想使用插件,而是出于性能原因在本地导入插件),您可以这样做:

npm安装单张-全屏幕

需要所需的文件,创建一个在地图加载时运行的方法。

代码语言:javascript
复制
         <l-map
                @ready="LoadFullscreen()"
                ref="myMap"
              >
        
        <script>
let LMap,
  LTileLayer,
  LMarker,
  LPopup,
  LIcon,
  LControlAttribution,
  LControlZoom,
if (process.client) {
  require("leaflet");
  ({
    LMap,
    LTileLayer,
    LMarker,
    LPopup,
    LIcon,
    LControlAttribution,
    LControlZoom,
  } = require("vue2-leaflet/dist/vue2-leaflet.min"));
  require("leaflet-fullscreen/dist/leaflet.fullscreen.css");
  require("leaflet-fullscreen/dist/Leaflet.fullscreen");
}
import "leaflet/dist/leaflet.css";

..。出口违约等等..。设置组件

代码语言:javascript
复制
methods: {
LoadFullscreen() {
  if (!process.server) {
    const map = this.$refs.listingsMap.mapObject;
    map.addControl(
      new window.L.Control.Fullscreen({
        position: "topright",
      })
    );
  }
},

},

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50703829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档