在页面加载时,我只获得了Mapbox地图的部分渲染。如果您更改浏览器的宽度或检查页面,则地图似乎会卡入到位并正确呈现。我能够在JSFiddle My_Mapbox_Map中重现这个问题。我已经尝试在所有地图逻辑完成后添加以下代码。
`setTimeout(function() { map.invalidateSize(); }, 200);`
这在JSFiddle中运行良好,但在我的应用程序中,它最多可以在50%的时间内运行,而且从不适用于FireFox。多次刷新屏幕最终会导致地图仅部分渲染。
答案 0 :(得分:2)
以$timeout
包裹0秒为我工作。在Firefox中也确认了。
$timeout(function(){
map.setView([39.53818, -79.43430000000001], 7);
},0);
答案 1 :(得分:1)
如果超时不够长怎么办?如果您等到地图准备好设置视图,您就不会有这种担忧。请参阅下面的参考代码和jsfiddle示例。
map.whenReady(function() {
map.setView([39.53818, -79.43430000000001], 7);
});