我刚刚注意到getPanoramaByLocation最近为半径为10的调用返回的结果发生了变化。在识别街景视图的位置对象之后,过去此代码将返回空间的自定义内部视图(如果可用) :
streetViewService.getPanoramaByLocation(place.geometry.location, 10, function(streetViewPanoramaData, status) {
然而,现在,此调用返回与将半径设置为50相同的街景视图,也就是说,该地点的标准谷歌外部街景视图...在此标准外部街景视图中,有一个导航箭头可以是单击以提供对该地点的内部自定义视图的访问权限,因此它仍然存在。但是,我的网站的目标是首先显示自定义内部视图(如果有的话)......
知道这种行为如何/为何会发生变化?或者,如果有可能以某种方式直接使用getPanoramaByLocation直接返回自定义内部全景图?
使用HTML和Javascript更新
HTML
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script>
<body>
<div id="pano1" style="height:500px; width:600px;"></div>
<div id="pano1_info"></div>
<div id="pano2" style="height:500px; width:600px;"></div>
<div id="pano2_info"></div>
</body>
的Javascript
var panoramaService = new google.maps.StreetViewService();
panoramaService.getPanoramaById('aZooFPuMASQAAAQIt5H7Ug', function (res, stat) {
var loc = res.location.latLng;
var panoramaOptions = {
position: loc,
pov: {
heading: 270,
pitch: 0
},
visible: true
};
var panorama1 = new google.maps.StreetViewPanorama(document.getElementById('pano1'), panoramaOptions);
document.getElementById('pano1_info').innerHTML = res.location.pano;
panorama1.setPano(res.location.pano);
alert(loc.lat()+','+loc.lng());
});
var loc2 = new google.maps.LatLng(30.248133,-97.75047899999998);
// var loc2 = new google.maps.LatLng(30.2481325,-97.7504791);
panoramaService.getPanoramaByLocation(
loc2,
10,
// 50,
function (streetViewPanoramaData, streetViewStatus) {
if (streetViewStatus != "OK") {
alert("no street view at this location I'm afraid");
} else {
var panoramaOptions = {
position: loc2,
pov: {
heading: 270,
pitch: 0
},
visible: true
};
var panorama2 = new google.maps.StreetViewPanorama(document.getElementById('pano2'), panoramaOptions);
document.getElementById('pano2_info').innerHTML = streetViewPanoramaData.location.pano;
panorama2.setPano(streetViewPanoramaData.location.pano);
//alert(streetViewPanoramaData.location.pano);
}
});