我创建了街景主视图。问题在于,当显示时,全景图是完全灰色的。我不确定它是否与选项卡内部以及打开选项卡时呈现的全景图有关。

我猜想这可能是一个类似的问题,已解决了调用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);
    });

08-06 22:48