typescript - 如何在按钮单击时在 vue 中重新定位 vue2-leaflet 地图
问题描述
我使用从“vue2-leaflet”导入的现成的 vue 组件“l-map”创建了传单地图。现在我想在按钮单击时重新定位地图,但我不知道如何访问用于创建地图的“地图”对象(如许多带有“map.flyTo()”等功能的示例所示)功能。我尝试在@watch 属性中添加“中心”并将其分配给 l-map 标记的“中心”属性,但地图没有根据其值的变化显示任何变化。使用 'vue2-leaflet 库中的组件创建地图功能时,如何访问地图功能?
<template>
<l-map :zoom="zoom" :center="center">
<v-btn small @click="recenterMap()">
<span class="mdi mdi-target" />
</v-btn>
</l-map>
</template>
<script lang="ts">
import { LMap, LControl } from "vue2-leaflet";
import { Component, Vue } from 'vue-property-decorator';
@Component({
components: {
LMap,
LControl
}
})
export default class MyMap extends Vue {
center= { lat: 11.016749, lng: 76.955817 };
recenterMap(){}
}
</script>
解决方案
要获取原始传单地图,您可以使用:
<l-map ref="map" :zoom="zoom" :center="center">
// Your code
</l-map>
mounted() {
this.$nextTick(() => {
this.map = this.$refs.map.mapObject;
});
}
推荐阅读
- r - R中表格的字符列表
- python - 用 pyplot 在离散时间绘制分布图
- java - JAVA - 如何确保程序仅以扫描的 int 继续?
- javascript - 从点击的元素图像src中放入图像src并更新数据
- c# - 通过 TCP/IP 端口 C# ASP 侦听串行
- python-3.x - 如何删除从字典生成的 csv 文件中的列表括号?
- excel - 在 Excel 数据透视表中选择每个组中的一半行
- javascript - 在html表单中单击后消失的提交按钮
- pointers - []struct{} 和 []*struct{} 有什么区别?
- ios - 尝试检查是否加载了视图控制器,然后将其呈现在容器中(UISegmentedController)