【发布时间】:2018-02-23 04:58:33
【问题描述】:
我正在尝试使用 Vue 2 的 MapBox,但我无法使地图占据容器的整个宽度。它仅在容器宽度的 50% 处呈现。
我在 index.html 的头部包含了如下文件:
<script src='https://api.mapbox.com/mapbox-gl-js/v0.40.0/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v0.40.0/mapbox-gl.css' rel='stylesheet' />
我想要一个组件中的地图(Map.vue,我用的是vue-router),所以这里是Map.vue中的代码:
脚本:
import Mapbox from 'mapbox-gl-vue';
export default {
components: {
'mapbox': Mapbox
}
}
模板:
<mapbox access-token="pk.eyJ1Ijoic3BlZW5pY3Q....."
:map-options="{
style: 'mapbox://styles/mapbox/streets-v9',
center: [-96, 37.8],
zoom: 3
}"
:geolocate-control="{
show: true,
position: 'top-left'
}"
:scale-control="{
show: true,
position: 'top-left'
}"
:fullscreen-control="{
show: true,
position: 'top-left'
}">>
</mapbox>
风格:
#map {
width: 100%;
height: 600px;
position: absolute;
margin:0;
z-index:1;
}
我已经在 CSS id 中尝试了我所知道的所有内容,但它仅在容器宽度的右半部分呈现地图,在左侧仅显示徽标和控件,而其余区域为空.
【问题讨论】:
标签: vue.js vuejs2 mapbox mapbox-gl-js