我一直在try 在我的vue上初始化谷歌 map .js项目,同时包含脚本:

<script src="https://maps.googleapis.com/maps/api/js?key="MY_API_KEY"&callback=initMap" async defer></script>

问题是我的.vue文件如下所示:

<template>
  ...
</template>

<script>
  ...
</script>

我不能在vue文件中包含多个脚本标记,我可以在通过索引时显示 map .但是我真的不想把js放在索引上.html,+我无法将脚本回调指向vue方法.

你们对如何用 map 显示有什么 idea 吗.vue文件?我确实使用了vue2谷歌 map ,但我想使用原始的谷歌 map .

我有一把小提琴正在做一些正常的事情:https://jsfiddle.net/okubdoqa/而不使用脚本标签中的回调,但它对我不起作用...谢谢

推荐答案

我建议使用npm google-maps,而不是在索引中添加脚本.html.您可能不需要在每个页面中调用google maps API,我认为最好正确使用Webpack.你可以用npm install google-maps

import GoogleMapsLoader from 'google-maps'

mounted: function () {
  GoogleMapsLoader.load(function(google) {
    let map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: position
    })
  })
}

Vue.js相关问答推荐

VueJS不会呈现一个名为None的组件""

如何禁用Vuetify v—stepper操作按钮

使用插槽的VUE 3工作台

Vue composition api: 访问