所以我在使用这个库时遇到了一些问题,我认为我正确设置了所有内容,但是我的组件没有渲染,我只得到一个空白页,控制台中没有错误。这是我的代码:
地图组件
<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很新,所以我尽力做到了。
答案 0 :(得分:0)
您需要
名称:“ gmap”
在您的导出文件中,然后在地图上放置width和height属性。