如何判断Google的Streetview Image API是否返回"抱歉,我们这里没有图像"(即NULL)结果?

Mik*_* B. 17 javascript api google-maps google-street-view

通过Google街景图片API,您可以在不使用JavaScript的情况下将静态(非交互式)街景全景图或缩略图嵌入到网页中.

请求网址: http://maps.googleapis.com/maps/api/streetview?parameters

+问题+

如果我给它一个没有街景的地址,它会返回一个图像,上面写着"对不起,我们这里没有图像".

根据当前的API,我无法检测是否找到了街景.任何人都有黑客或建议搞清楚这一点?

+ +实施例

适当的街景:http : //maps.googleapis.com/maps/api/streetview? size=300x300&sensor=false&location=100+Highland+Ave+Baltimore,+MD+ 21224

对不起街景:http : //maps.googleapis.com/maps/api/streetview? size=300x300&sensor=false&location=1600+Pennsylvania+Ave,+Washington,+DC+ 20500

Suv*_*jah 6

考虑在Google地图中使用StreetViewService和StreetViewStatus对象:https://developers.google.com/maps/documentation/javascript/streetview#StreetViewService

基本上你要做的是创建一个StreetViewService对象,它将尝试使用该getPanoramaByLocation(latlng:LatLng, radius:number, callback:function(StreetViewPanoramaData, StreetViewStatus))方法根据位置查找全景图.

在回调函数中,有一个条件参数来检查数据可用性if (status == google.maps.StreetViewStatus.OK).基于布尔返回,执行所需的操作.我提供的第一个链接得到了使用这些方法的一个很好的例子.

注意:我还注意到你有基于地址的位置.可以使用地理编码服务(https://developers.google.com/maps/documentation/javascript/geocoding)将其转换为LatLng

  • 这部分工作,但请注意JavaScript API可能会返回街景图像API中不可用的panos(靠近latlng的全景ID).有关详细信息,请参阅https://code.google.com/p/gmaps-api-issues/issues/detail?id=10402. (3认同)

mig*_*uev 5

只需查询街景图像元数据 API。

这是一项新功能,已于2016年11月添加到Street View Image API中,可让您查询给定位置(地址或latlng)甚至全景ID的Street View全景图的可用性。这些查询是免费的。