谷歌街景视图与自定义全景和标记

3
我有一段代码,使用定制的谷歌街景全景图并创建了一些自定义标记。
function initialize() {

    var panoOptions = {
        pano: 'a9V_yZU01A7nTQW7S4Hxjw',
        pov: {
            heading: 0,
            pitch:0
        },
        zoom: 0
    };
    var pano = new google.maps.StreetViewPanorama(document.getElementById('virtualTour'), panoOptions);

    var infowindow = new google.maps.InfoWindow();
    var marker, i;
    var markers = [];
    var locations = [
        ['<div style="width: 170px;">MARKERS 1</div>', 37.869197, -122.254583]
    ];

    for (i = 0; i < locations.length; i++) {  
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
            map: pano,
            visible: false,
            zIndex: 999
        }); 

        google.maps.event.addListener(marker, 'mouseover', (function(marker, i) {
            return function() {
                infowindow.setContent(locations[i][0]);
                infowindow.open(pano, marker);
            }
        })(marker, i));
        markers.push(marker); // save all markers
    }



    for (i = 0; i < locations.length; i++) {
        markers[i].setVisible(true);
        markers[i].setMap(pano);
    }

    pano.setVisible(true);

}


google.maps.event.addDomListener(window, 'load', initialize);

我的问题是:为什么标记只有在我通过地面上的谷歌街景箭头移动后才会显示?
我想要在initialize函数中显示标记。有人可以帮我吗? 我已经为我的项目创建了一个jsfiddle: http://jsfiddle.net/7HpmE/ 提前感谢!
1个回答

0

迟做总比不做好。

我成功地解决了您的问题,只需在添加标记后重新加载全景图即可。 我所做的就是替换以下行:

pano.setVisible(true);

(全景图默认可见)使用:

pano.setPano('a9V_yZU01A7nTQW7S4Hxjw');

这是您的jsFiddle的更新版本: http://jsfiddle.net/7mfswdbg/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接