Google maps 为什么有些街景图片从错误的角度拍摄?

Google maps 为什么有些街景图片从错误的角度拍摄?,google-maps,google-street-view,Google Maps,Google Street View,我正在使用谷歌街景图像API来显示一个地址的图像。虽然大多数图片都非常准确,但我注意到有一些是从错误的角度拍摄的,比如街角的房子,图片来自侧街,而不是前街。当我检查谷歌地图时,左面板顶部显示的图像是正确的 榜样; 下面是一个使用URL参数的图像; 下面是谷歌地图左侧面板中显示的同一位置的图像 有没有办法使用API获得“更好”的角度 如果您知道地址,并且屋顶地理编码器结果可用,您可以找到道路上最近的位置,然后使用该位置请求街景: (如果你不知道地址,你可以像我在这里做的那样对位置进行反向

我正在使用谷歌街景图像API来显示一个地址的图像。虽然大多数图片都非常准确,但我注意到有一些是从错误的角度拍摄的,比如街角的房子,图片来自侧街,而不是前街。当我检查谷歌地图时,左面板顶部显示的图像是正确的

榜样; 下面是一个使用URL参数的图像;

下面是谷歌地图左侧面板中显示的同一位置的图像


有没有办法使用API获得“更好”的角度

如果您知道地址,并且屋顶地理编码器结果可用,您可以找到道路上最近的位置,然后使用该位置请求街景:

(如果你不知道地址,你可以像我在这里做的那样对位置进行反向地理编码)

此问题的工作示例:

工作代码段:

var geocoder=new google.maps.geocoder();
var myStreetView=null;
var-marker=null;
函数geocodeAddress(){
var address=document.getElementById('address')。值;
地理编码({
“地址”:地址
},功能(结果、状态){
//警报(结果);
if(status==google.maps.GeocoderStatus.OK){
//警报(结果[0]。几何体。位置);
myStreetView=new google.maps.StreetViewPanorama(document.getElementById(“地图画布”);
myStreetView.setPosition(结果[0].geometry.location);
google.maps.event.addListenerOnce(myStreetView,'status_changed',function(){
var SVstatus=myStreetView.getStatus()
document.getElementById('info').innerHTML=“街景状态=”+SVstatus;
var heading=google.maps.geometry.spherical.computeHeading(myStreetView.getLocation().latLng,结果[0].geometry.location);
myStreetView.setPov({
标题:标题,
音高:0
});
setTimeout(函数(){
marker=新的google.maps.marker({
位置:结果[0]。geometry.location,
地图:myStreetView,
标题:地址
});
if(marker&&marker.setMap)marker.setMap(myStreetView);
}, 500);
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
google.maps.event.addDomListener(document.getElementById('geoBtn'),'click',geocodeAddress);
}
google.maps.event.addDomListener(窗口“加载”,地理编码地址)
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
}

我也注意到,谷歌似乎正在使用不同的算法在其网站上显示该图像(在左面板中),而且该图像更准确,因为它位于该位置的最前端

使用他们的“街景图像API”无法直接获得该角度,但您可以使用javascript API计算该角度并将其传递给图像API

这里的问题是,我们如何知道哪一个是大楼的前面?嗯,前面通常是从街道进入的地方。因此,您可以使用DirectionService获取
最近的交通起点位置通常是建筑物入口处的道路,使用此位置,您现在可以使用几何实用程序方法轻松计算车头,并将其传递到图像API。

我认为他们会将所有醉汉转移到附近的车库中。在技术说明中,我读到角度是根据从地址坐标到相机测量的最近的相机计算的。在这种情况下,侧街必须稍微靠近地址的地理坐标。如果这是真的,谷歌地图怎么知道前面的镜头更好?也许是因为它是从《记录的街道》中拍摄的?你的回答很有帮助,但我仍然无法得到更好的单幅图像,而不是你例子中的街景滑块图像。我从一个地址开始,然后从谷歌那里得到地理编码。根据谷歌文档,返回的地理代码是一个屋顶。有趣的是,当我点击你答案中的链接时,我在右窗格中得到了一个分割的图像,一部分来自侧街,一部分形成了更理想的前街。如果我点击它,几乎不滑动图像,它会修正到前视图。哇,另一个非常有用的答案,但我很懒,希望有一个“简单”的方法从API获得更好的角度,见鬼,地图网站显然知道这一点!“地图”最近进行了一些重大更新,也许他们最终会在街景图像API中加入相同的算法。他们在新的谷歌地图中似乎倒退了一步,你得到了与图像API中相同的角度(更糟糕的缩放效果)-哇,真是糟糕。我为那个地址提交了一份错误报告,并注意到了旧地图应用程序的回归。我们看看他们是否注意到了。