51 lines
1.3 KiB
Vue
51 lines
1.3 KiB
Vue
|
<script>
|
||
|
import { latLng } from "leaflet";
|
||
|
import { LMap, LTileLayer, LMarker, LTooltip } from "vue2-leaflet";
|
||
|
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
zoom: 13,
|
||
|
center: latLng(47.41322, -1.219482),
|
||
|
url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||
|
attribution:
|
||
|
'© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
|
||
|
withTooltip: latLng(47.41422, -1.250482),
|
||
|
showParagraph: false,
|
||
|
mapOptions: {
|
||
|
zoomSnap: 0.5
|
||
|
},
|
||
|
showMap: true
|
||
|
};
|
||
|
},
|
||
|
components: {
|
||
|
LMap,
|
||
|
LTileLayer,
|
||
|
LMarker,
|
||
|
LTooltip
|
||
|
},
|
||
|
methods: {
|
||
|
innerClick() {
|
||
|
alert("Click!");
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<l-map :zoom="zoom" :center="center" :options="mapOptions" style="height: 400px; width: 100%">
|
||
|
<l-tile-layer :url="url" :attribution="attribution" />
|
||
|
<l-marker :lat-lng="withTooltip">
|
||
|
<l-tooltip :options="{ permanent: true, interactive: true }">
|
||
|
<div @click="innerClick">
|
||
|
I am a tooltip
|
||
|
<p v-show="showParagraph">
|
||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque
|
||
|
sed pretium nisl, ut sagittis sapien. Sed vel sollicitudin nisi.
|
||
|
Donec finibus semper metus id malesuada.
|
||
|
</p>
|
||
|
</div>
|
||
|
</l-tooltip>
|
||
|
</l-marker>
|
||
|
</l-map>
|
||
|
</template>
|