StreetViewPanorama - 如何更改为其他图像

时间:2016-12-01 00:23:37

标签: javascript google-street-view

我有一点问题,我无法找到解决方案;也许有人会知道如何解决它。 我有以下代码,其中Google <script src="https://d3js.org/d3.v4.min.js"></script>和所有内容(拖动,缩放)工作正常。但是当我在这个对象中启动其他图像时,在图像加载到对象后,它停止工作:没有缩放,边缘显示,拖动是半工作。 在更改图像之前销毁对象不起作用。 也许有一些方法来更新这个对象?

StreetViewPanorama

1 个答案:

答案 0 :(得分:0)

我想出了类似的东西,现在它正在努力工作..

var panorama;
function initialize() {
    var panoOptions = {
        pano: 'sfera-4',
        visible: true,
        panoProvider: getCustomPanorama
    }
    panorama = new google.maps.StreetViewPanorama(
        document.getElementById('map'), 
        panoOptions
    );
}
function getCustomPanoramaTileUrl(pano,zoom,tileX,tileY) {
    return 'i/'+pano+'s.jpg';
}
function getCustomPanorama(pano,zoom,tileX,tileY) {
    switch(pano) {
        case 'sfera-4':
            return {
                location: {
                    pano: 'sfera-4',
                    description: 'Sfera 4'
                },
                copyright: 'Description',
                tiles: {
                    tileSize: new google.maps.Size(4096,2048),
                    worldSize: new google.maps.Size(4096,2048),
                    centerHeading: 0,
                    getTileUrl: getCustomPanoramaTileUrl
                }
            };
        break;
        case 'sfera-7':
            return {
                location: {
                    pano: 'sfera-7',
                    description: 'Sfera 7'
                },
                copyright: 'Description',
                tiles: {
                    tileSize: new google.maps.Size(4096,2048),
                    worldSize: new google.maps.Size(4096,2048),
                    centerHeading: 0,
                    getTileUrl: getCustomPanoramaTileUrl
                }
            };
        break;
    }
}
function setMap(id) {
    panorama.setPano('sfera-'+id);
}

更改图像我只是调用setMap(7)