我创建了街景主视图。问题在于,当显示时,全景图是完全灰色的。我不确定它是否与选项卡内部以及打开选项卡时呈现的全景图有关。
我猜想这可能是一个类似的问题,已解决了调用resize
事件的问题。有什么我可以做的吗?
App.DetailStreetView = Backbone.View.extend({
initialize: function() {
this.latLng = new google.maps.LatLng(37.869085,-122.254775);
},
render: function() {
var sv = new google.maps.StreetViewService();
this.panorama = new google.maps.StreetViewPanorama(this.el);
sv.getPanoramaByLocation(this.latLng, 50, this.processSVData);
},
processSVData: function(data, status) {
if (status == google.maps.StreetViewStatus.OK) {
// calculate correct heading for POV
var heading = google.maps.geometry.spherical.computeHeading(data.location.latLng, this.latLng);
this.panorama.setPano(data.location.pano);
this.panorama.setPov({
heading: 270,
pitch:0,
zoom:1,
});
}
},
refresh: function() {
this.panorama.setVisible(true);
google.maps.event.trigger(this.panorama, 'resize');
}
});
编辑:
我创建了一个JSFiddle来复制问题:http://jsfiddle.net/kNS2L/3/
最佳答案
是的,这是带有地图和全景图的旧display:none
。当我添加setVisible(true)
时它起作用:
$('button').click(function() {
$('#pano').show();
panorama.setVisible(true);
});