所以,我有一个问题。我在我的网站上有谷歌地图街景,有一个建筑物全景(内部),现在API只显示这栋楼附近的街景。为什么以及如何解决这个问题?
这是我的代码:
function initialize() {
var fenway = new google.maps.LatLng(52.4980685,13.2951895);
var panoramaOptions = {
zoom: 1,
panControl:false,
zoomControl:false,
mapTypeControl:false,
scaleControl:false,
rotateControl:false,
streetViewControl:false,
overviewMapControl:false,
disableDefaultUI: false,
addressControl: false,
addressControlOptions: {
position: google.maps.ControlPosition.BOTTOM,
hide: true
},
position: fenway,
pov: {
heading: 0,
pitch: 0
}
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'), panoramaOptions);
google.maps.setStreetView(panorama);
}
google.maps.event.addDomListener(window, 'load', initialize);
答案 0 :(得分:0)
这可能是一种错误(随时报告)。
我猜你说的是" Shebell Institut" 。
让我解释为什么它是一个错误:
目前
ag1bfIf47xUAAAGuxVUjCQ
(52.498042,13.29517199999998)
您的代码中的位置略有不同,但是当我使用确切的位置时,它应该显示所需的全景(因为它距离最近)......但它没有。
此外,当我通过StreetViewService.getPanoramaByLocation
查询全景图时,将返回另一个全景图(包含其他位置),但文档说明了:
如果半径小于50米,则会返回最近的全景。
...但是当我使用确切的位置时,它不应该返回另一个位置的全景图。
我没有解决方案,因为对于文档全景,ID只能在会话中保持稳定。
但这并不意味着全景ID必须经常更改(我不知道是什么迫使更改全景ID,但我无法想象ID会随机更改)
因此,让我们试一试并使用panorama-ID(可选)。
将全景位置(在这种情况下为fenway
)设置为
(52.498042,13.29517199999998)
ag1bfIf47xUAAAGuxVUjCQ
)当两个位置(fenway
和返回的全景图的位置)相等时,您可能会认为它仍然是所需全景的ID并使用此全景
new google.maps.StreetViewService()
.getPanoramaById('ag1bfIf47xUAAAGuxVUjCQ',
function(data,status){
if(google.maps.StreetViewStatus.OK===status
&&
data.location.latLng.toUrlValue()==fenway.toUrlValue()
){
panorama.setPano(data.location.pano);
}
});
演示:http://jsfiddle.net/doktormolle/uwqvr5ee/
如果它有时不是所需的全景图,您可以向网站管理员发送通知,以便他可以更新全景ID。 我知道它并不完美,但它是迄今为止我能想到的唯一方法(除了custom panorama)