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); 

我的问题是:为什么显示标记后,才通过谷歌街景箭头可移动地板上?

我希望在初始化函数上显示标记。谁能帮我?我为我的项目创建了一个jsfiddle: http://jsfiddle.net/7HpmE/

在此先感谢!

回答

0

比从未更好的迟到。

我已经能够解决您的问题,只需在添加标记后重新加载pano即可。 我所做的只是更换以下行:

pano.setVisible(true); 

(全景默认情况下可见)有:

pano.setPano('a9V_yZU01A7nTQW7S4Hxjw'); 

这里是你的jsfidle的更新版本: http://jsfiddle.net/7mfswdbg/