如何在 Vue2Leaflet 中使用 Leaflet Fullscreen

And*_*dyC 3 fullscreen leaflet vue.js

有没有人有关于如何将Leaflet FullscreenVue2 Leaflet集成的例子

我在组件中使用 Vue2Leaflet(通过 npm 加载),并将 CDN 链接添加到 index.html 中的 Fullscreen js。但是当全屏js加载时,它找不到对Leaflet的引用,因为它还没有加载。所以我不确定如何以正确的顺序使用它们。

thi*_*utg 9

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

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

<l-map :zoom="zoom" :center="center" ref="mymap">
  ...
</l-map>
Run Code Online (Sandbox Code Playgroud)

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

mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new L.Control.Fullscreen());
}
Run Code Online (Sandbox Code Playgroud)

看到这个小提琴

如果您使用的是 webpack,则有点不同:

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

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

import 'leaflet-fullscreen/dist/leaflet.fullscreen.css';
import 'leaflet-fullscreen/dist/Leaflet.fullscreen';
Run Code Online (Sandbox Code Playgroud)

3)在您的组件中,使用window.L代替L

mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new window.L.Control.Fullscreen());
}
Run Code Online (Sandbox Code Playgroud)