2015-02-09 65 views
0

我有一个页面,应该包含一个谷歌地图和div与街景div。地图工作正常,但街景不显示,它只是一个空的分区。但我不能让JS抛出一个错误。街景API不返回街景

这里是我的代码,它可能是真的很明显我缺少的东西。

<div id="property_streetview"></div> 
       <script> 


        function initialize_StreetMap() { 
         var streetViewLocation = new google.maps.LatLng(52.39648,-4.071235); 
         var panoramaOptions = { 
          addressControl: false, 
          navigationControl: true, 
          navigationControlOptions: { 
          style: google.maps.NavigationControlStyle.SMALL 
          } 
         }; 
         var panorama; 
         var panorama = new google.maps.StreetViewPanorama(document.getElementById("property_streetview"), panoramaOptions); 

        } 

        window.onload = initialize_StreetMap(); 


       </script> 
+1

第一件事,我注意到:你有全景定义了两次。你只需要第二个(即你分配新的google.maps等等)。我不知道这是否足以打破你的观点(除非你用JS linting或类似的方式进行构建),但是值得移除第一个实例。 – 2015-02-09 22:24:45

回答

1

你定义的变量的经纬度(streetViewLocation),但是当你想获得该位置的街景,你必须使用这个变量作为position -property为panoramaOptions

而且你必须从这一行删除括号:

window.onload = initialize_StreetMap(); 

...否则该函数将立即执行,而不是onload。

function initialize_StreetMap() { 
 
    var streetViewLocation = new google.maps.LatLng(52.39648,-4.071235), 
 
     panoramaOptions = { 
 
          addressControl: false, 
 
          navigationControl: true, 
 
          navigationControlOptions: { 
 
          style: google.maps.NavigationControlStyle.SMALL 
 
          }, 
 
          position:streetViewLocation 
 
         }, 
 
     panorama = new google.maps 
 
        .StreetViewPanorama(document.getElementById("property_streetview"), 
 
             panoramaOptions); 
 

 
} 
 

 
window.onload = initialize_StreetMap;
 html, body, #property_streetview { 
 
     height: 100%; 
 
     margin: 0px; 
 
     padding: 0px 
 
     }
<script src="https://maps.googleapis.com/maps/api/js?v=3&.js"></script> 
 
<div id="property_streetview"></div>

+0

嗨,多数民众赞成在建议它很好地运行代码片段的良好感谢。它仍然不适合我,我想我可能要么看看谷歌地图API是否已经被称为普通地图造成了冲突,或者我需要添加一些检查来查找是否有附近的街景使用半径。 – 2015-02-10 20:10:18

+0

你如何调用普通地图的初始化(基本上map-API将可用onload,除了加载异步版本)?也许你会在某处覆盖'onload'。 – 2015-02-10 20:14:42

+0

Css问题;-)它是一个更大的页面的一部分。当我把你的代码单独放在一个HTML页面中时,它可以工作,所以我查找了其他问题。感谢您的帮助 – 2015-02-10 20:46:16