我正在尝试嵌入多个占用整页的街景全景图(技术上的光球) - 一次只能看到一个。
我以为我会创建单独的全景图并将它们附加到不同的div,隐藏除活动div之外的所有div,然后使用一些缩略图链接隐藏并使用jQuery显示相关的div。
这几乎可以使用,但最初隐藏的全景图不显示任何图像(控件在那里,但不是图像本身)。
我需要在API中设置一些内容吗?或者也许有更好的方法来做到这一点?
我现在的代码是:
function carparkPano() {
var carparkID = "GPHkasenHbQAAAAGOrVDmQ";
var carpark = {
pano: carparkID,
pov: {
heading: 290,
pitch:15
},
zoom: 0,
addressControl: false
};
var myPhotoSphere = new google.maps.StreetViewPanorama(
document.getElementById('pano1'),
carpark);
myPano.setVisible(true);
}
function rooftopPano() {
var rooftopID = "VaIS8soJyPAAAAAGOsbvQA";
var rooftop = {
pano: rooftopID,
pov: {
heading: 0,
pitch:10
},
zoom: 1,
addressControl: false
};
var myPhotoSphere = new google.maps.StreetViewPanorama(
document.getElementById('pano2'),
rooftop);
myPano.setVisible(true);
}
google.maps.event.addDomListener(window, 'load', carparkPano);
google.maps.event.addDomListener(window, 'load', rooftopPano);
有什么想法吗?
感谢
答案 0 :(得分:0)
我认为您可能需要在显示div后对其进行初始化,因此最终会看起来像这样:
$(document).on('click', '#idOfElementTriggeringMap', function(){
$('#pano2').show();
ininitalizeMap('pano2');
}
});
function initializeMap(map){
// do map initialization here...
}
<强>更新强>
此后我发现了另一篇帖子,建议在显示div之后调用地图的resize事件,我认为这会产生同样的效果: