我正在制作一个使用Google Street View Image API
的应用我没有问题,根据地址/坐标获得街道视图的图像
但是 - 我想检测特定地址是否具有可用的街道视图图像(以显示没有它的地址的不同行为)
我到目前为止唯一的想法是读取返回图像的像素,并检测这是否是我在没有图像的图像
时获得的图像还有其他想法吗?
谢谢!
使用google.maps.streetviewservice.getpanoramabylocation(latlng,radius,callback()),您可以检查是否有Streetview Panorama。如果有街景全景图,那么必须有街景图像。
您可以参考Google的参考:https://developers.google.com/maps/documentation/javascript/reference#streetviewservice
或参考StreetViewService的示例:https://google-developers.appspot.com/maps/documentation/javascript/examples/streetview-service
Google具有API端点,您可以在其中查找全景/街景的元数据:
https://maps.googleapis.com/maps/api/streetview/metadata?key=YOUR_API_KEY&location=STRING_ADDRESS_OR_LAT_LNG_COORDINATES
您可以检查响应的status
属性。
成功响应
{
"copyright" : "© 2017 Google",
"date" : "2016-05",
"location" : {
"lat" : 48.85783227207914,
"lng" : 2.295226175151347
},
"pano_id" : "tu510ie_z4ptBZYo2BGEJg",
"status" : "OK"
}
响应失败
{
"status" : "ZERO_RESULTS"
}
@See https://developers.google.com/maps/documentation/streetview/metadata
mStreetViewPanorama.setOnStreetViewPanoramaChangeListener(streetViewPanoramaLocation -> {
if (streetViewPanoramaLocation != null && streetViewPanoramaLocation.links != null) {
Toast.makeText(StreetViewActivity.this, "StreetView Camera Found", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(StreetViewActivity.this, "StreetView Camera not Found", Toast.LENGTH_SHORT).show();
}
});