Leaflet.fullscreen component for Vue2Leaflet
This is a Vue2Leaflet plugin to provide the
Leaflet.fullscreen control
on Leaflet maps in Vue applications.
npm install --save vue2-leaflet-fullscreen
git clone [email protected]:mikeu/vue2-leaflet-fullscreen.git
cd vue2-leaflet-fullscreen
npm install
npm run example
You should then be able to visit http://localhost:4000 to see a leaflet map with the fullscreen control.
With the LControlFullscreen
component loaded into Vue (see below), simply add the
l-control-fullscreen
element inside an l-map
, optionally providing it with an
options
object to specify the initial setup of the control, or the
Leaflet Control position
in which to display the control.
For example,
<l-map>
<l-control-fullscreen position="topleft"
:options="{ title: { 'false': 'Go big!', 'true': 'Be regular' } }"
/>
<!-- other map components -->
</l-map>
The fullscreen control fires the fullscreenchange
event from the map to which it has been added.
In Vue, these can be listened for in the standard fashion, by adding event handlers the the LMap
control within which the LControlFullscreen
is being used:
<l-map @fullscreenchange="handleToggle">
<l-control-fullscreen/>
<!-- other map components -->
</l-map>
Of course, the handleToggle
method must be defined within the Vue component that is calling them.
You can either install the control globally within your application at the point where you initially
configure Vue, or import the control only within the components that require it.
In the <script>
of a Vue component,
import LControlFullscreen from 'vue2-leaflet-fullscreen';
// ...
export default {
// ...
components: {
LControlFullscreen,
// ...
},
// ...
};
Where you load and configure your Vue environment,
import Vue from 'vue';
import LControlFullscreen from 'vue2-leaflet-fullscreen';
// ...
Vue.component('l-control-fullscreen', LControlFullscreen);
// ...
The majority of the credit for this plugin goes to the author of and contributors to the underlying
Leaflet.fullscreen control, and of course
the plugin wouldn’t be possible without Vue, Leaflet, and Vue2Leaflet.
Michael Underwood
This project is licensed under the MIT License - see the LICENSE file for details.