如何在地址/坐标中检测Google StreetView是否可用



我正在制作一个使用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();
                }
            });

相关内容

  • 没有找到相关文章

最新更新