How to detect if Google StreetView is available in an address/coordinates

流过昼夜 提交于 2019-12-12 08:06:19

问题


I'm making an app that uses the Google Street View Image API

I have no problem getting an image of the street view based on the address/coordinates

but - I want to detect if the specific address has a Street View image available (in order to show a different behavior for addresses that doesn't have it)

The only idea I got so far is to read the pixels of the returned image and detect whether this is the image the I got when there is no image available

Any other idea?

Thanks!


回答1:


Using google.maps.StreetViewService.getPanoramaByLocation( latlng, radius, callback()), you can check whether there is a streetview panorama. If there is a streetview panorama, then there must be an image of streetview.

You can refer the reference of google : https://developers.google.com/maps/documentation/javascript/reference#StreetViewService

Or refer to the example of StreetViewService : https://google-developers.appspot.com/maps/documentation/javascript/examples/streetview-service




回答2:


  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();
                }
            });



回答3:


Google has an api endpoint where you can look up the metadata for a panorama/streetview:

https://maps.googleapis.com/maps/api/streetview/metadata?key=YOUR_API_KEY&location=STRING_ADDRESS_OR_LAT_LNG_COORDINATES

You can check the status property of the response.

Successful Response

{
   "copyright" : "© 2017 Google",
   "date" : "2016-05",
   "location" : {
      "lat" : 48.85783227207914,
      "lng" : 2.295226175151347
   },
   "pano_id" : "tu510ie_z4ptBZYo2BGEJg",
   "status" : "OK"
}

Failed Response

{
   "status" : "ZERO_RESULTS"
}

@see https://developers.google.com/maps/documentation/streetview/metadata



来源:https://stackoverflow.com/questions/13236312/how-to-detect-if-google-streetview-is-available-in-an-address-coordinates

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!