我正在制作一个使用 Google Street View Image API 的应用
根据地址/坐标获取街景图像没有问题
但是 - 我想检测特定地址是否有可用的街景图像(以便为没有它的地址显示不同的行为)
到目前为止我唯一的想法是读取返回图像的像素并检测这是否是我在没有可用图像时得到的图像
还有什么想法吗?
谢谢!
我正在制作一个使用 Google Street View Image API 的应用
根据地址/坐标获取街景图像没有问题
但是 - 我想检测特定地址是否有可用的街景图像(以便为没有它的地址显示不同的行为)
到目前为止我唯一的想法是读取返回图像的像素并检测这是否是我在没有可用图像时得到的图像
还有什么想法吗?
谢谢!
使用 google.maps.StreetViewService.getPanoramaByLocation( latlng, radius, callback()) 可以查看是否有街景全景图。如果有街景全景,那么一定有街景图像。
您可以参考谷歌的参考: 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();
}
});