javascript - 将 KMZ 图层导入谷歌地图 - Vue 2
问题描述
使用 vue 谷歌地图包:https ://github.com/xkjyeah/vue-google-maps
在mounted()
我试图设置图层:
mounted() {
this.$refs.gmap.$mapPromise.then((map) => {
let options = {
url: 'https://beeline.kg/ru/binaries/content/assets/kmz-files/3g-v2.kmz'
}
let kml = new google.maps.KmlLayer(options)
kml.setMap(this.$refs.gmap)
})
},
但是我进入控制台:“InvalidValueError: setMap: not an instance of Map”
this.$refs.gmap
是对谷歌地图组件的引用:
<GmapMap
ref="gmap"
:center="{lat: lat, lng: lng}"
:zoom="5"
map-type-id="roadmap"
style="width: 100%; height: 500px"
:options="{
mapTypeControl: false
}"
>
</GmapMap>
我猜问题出在这里:
let kml = new google.maps.KmlLayer(options)
如果使用此包,如何正确调用谷歌地图的新实例?
解决方案
其实没那么难。太神奇了,没有人不知道该怎么做。
mounted() {
this.$refs.gmap.$mapPromise.then((map) => {
let options = {
map: map,
url: `https://example.com/filename.kmz?dummy=` + (new Date()).getTime()
}
let kml = new google.maps.KmlLayer(options)
})
}
虚拟参数是为了避免谷歌地图缓存。
推荐阅读
- uicollectionview - 如何使用 NSCache 从 UICollectionView 中的 Web 服务器异步加载图像
- c# - 应用程序机密文件内容未包含在项目输出中
- r - 从 R 将临时目录设置为临时目录
- javascript - 无法正确显示引导年份日历并且日期选择器出现问题
- javascript - 在 VueJS 中观察元素的高度
- c - 如何在C中将数字字符串存储为无符号整数
- php - 我应该在哪里存储基于 MVC 模式的 Laravel 会话数据?
- python - 从字典列表中创建一个字典,使得字典中的相同值将成为键,值是剩下的项目
- mysql - 使用dart程序连接mysql
- email - 如何使用 swiftmailer 从本地主机发送电子邮件?