javascript - 将 KMZ 图层导入谷歌地图 - Vue 2

标签 javascript google-maps vue.js

使用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:不是 Map 的实例”

this.$refs.gmap 是对 google map 组件的引用:

<GmapMap
  ref="gmap"
  :center="{lat: lat, lng: lng}"
  :zoom="5"
  map-type-id="roadmap"
  style="width: 100%; height: 500px"
  :options="{
    mapTypeControl: false
  }"
>
</GmapMap>

我猜问题就在这里:

让 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)
  })
}

虚拟参数是为了避免谷歌地图缓存。

关于javascript - 将 KMZ 图层导入谷歌地图 - Vue 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265000/

相关文章:

javascript - 太多的递归方案javascript

google-maps - 使用经纬度时收到403禁止错误: geocoding

Javascript 异步函数返回 [object Promise]

d3.js - d3 作为 Vue 组件

javascript - AngularJS 中的工厂 "is not defined"

javascript - 显示和隐藏 Javascript HTML5

javascript - 如何让 Offline.js 区分真正的离线行为和服务器停机?

android - 绘制多段线对齐道路 Android 谷歌地图应用程序

c# - Google map 不支持的浏览器

google-chrome - Vue.js 中 Chrome 和 Datalist 的性能问题