Laravel + vue js和vue2-google-maps

时间:2018-04-30 18:10:27

标签: javascript google-maps laravel-5 vuejs2

所以我在使用这个库时遇到了一些问题,我认为我正确设置了所有内容,但是我的组件没有渲染,我只得到一个空白页,控制台中没有错误。这是我的代码:

地图组件

  <template>
      <div >
        <gmap-map :center="{lat:1.38, lng:103.8}" :zoom="12">
          <gmap-marker :position="{lat:1.38, lng:103.8}">
          </gmap-marker>
          <gmap-info-window :position="{lat:1.38, lng:103.8}">
            Hello world!
          </gmap-info-window>
        </gmap-map>
      </div>
    </template></strike>



    <script>
      export default {

      }
    </script>

    <style>
      .map-container, .vue-map-container {
        display: flex;
        width: 100%;
      }
    </style>'

Main.js

require('./bootstrap');
import Vue from 'vue';
import axios from 'axios';
import VueAxios from 'vue-axios';
import VueRouter from 'vue-router';
import routes from './routes';

import * as  VueGoogleMaps from 'vue2-google-maps'

Vue.use(VueGoogleMaps, {
  load: {
    key: 'My_api_key',
    v: '3.31',
    libraries: 'places'
  }
})


Vue.use(VueRouter);
const router = new VueRouter({
    routes
});


window.Vue = require('vue');


Vue.component('navbar-component', require('./components/LayoutComponents/NavbarComponent.vue'));
Vue.component('home-component', require('./components/HomeComponent.vue'));
Vue.component('map-component', require('./components/MapComponent.vue'));
Vue.component('footer-component', require('./components/LayoutComponents/FooterComponent.vue'));
Vue.component('register-component', require('./components/AuthComponents/RegisterComponent.vue'));
Vue.component('login-component', require('./components/AuthComponents/LoginComponent.vue'));



const app = new Vue({
    el: '#app',
    router
});

路由器正确处理所有内容但由于某种原因,当我在其中包含地图相关代码时,它不会加载地图组件,如果我在其中放置一些文本,它将正确加载所有内容。我用npm安装了vue2-google-maps,它正确显示在package.json文件中。 我一般都对Vue很新,所以我尽力做到了。

1 个答案:

答案 0 :(得分:0)

您需要

  

名称:“ gmap”

在您的导出文件中,然后在地图上放置width和height属性。