GoogleMapAPI的类型错误:在Vue3中使用onMount()加载组件时,无法读取undefined(阅读'maps')'的属性

xzlaal3s  于 2022-11-17  发布在  Vue.js
关注(0)|答案(1)|浏览(130)

我正在创建一个Vue应用程序并使用Google Maps API渲染Map,但在尝试加载时,收到错误“TypeError:无法读取未定义的属性(阅读'maps')'
我不知道这个错误是从哪里来的,因为我已经导入了谷歌Map加载器功能使用:
我假设它来自google对象Map属性:

onMounted(async () => {
            await loader.load()
            new google.maps.Map(mapDiv.value, {
                center: currPos.value,
                zoom: 14
            })
        })

我已经对错误Error from console进行了屏幕截图
我已经将Loader从google maps导入到了组件本身,以及呈现组件的视图中。

import { Loader } from '@googlemaps/js-api-loader'

但是,在页面加载时,它仍然会引发未找到Map的错误。'TypeError:无法读取未定义的属性(阅读'maps')'
Loader来自一个npm包,如下所示:https://www.npmjs.com/package/@googlemaps/js-api-loader

8zzbczxx

8zzbczxx1#

您的脚本中未定义google变量,该变量应该是响应,因此将来自load方法的响应分配给google变量:

onMounted(async () => {
           let google =  await loader.load()
             new google.maps.Map(mapDiv.value, {
                center: currPos.value,
                zoom: 14
            })
        })

相关问题