如何在启动Streetview意图之前判断Streetview是否存在

Osm*_*und 4 android google-street-view

启动某个位置的街景意图并不能保证该位置存在街景视图.如果Streetview不存在,用户只会看到旋转的黑屏.有没有办法在启动Streetview意图之前以编程方式检查它是否存在?

Com*_*are 5

使用PackageManagerqueryIntentActivities()你的Intent.如果您返回0个匹配活动的列表,则您知道设备上的任何内容都不会处理您的请求.

  • 这不会让我知道如果在给定位置有可用的实际全景图吗?据我所知,它只会告诉我StreetView活动是否存在.在具有StreetView活动的设备上,我最终得到一个黑色屏幕和一个微调器,它不会显示该地理点的全景图.尽管如此,Streetvew活动仍然正确启动.我可以查询上面的上述URL,以便在通过intent启动Activity之前发现数据实际存在.没有streetViewExists(Geopoint p)还是有一些这样的功能? (2认同)

小智 5

一种方法是使用Google街景图像API检查是否存在Google街景.

https://developers.google.com/maps/documentation/streetview/

当存在特定坐标的街景时,它返回的图像具有不同的文件大小,而不是

http://maps.googleapis.com/maps/api/streetview?size=400x400&location=40.720032,%20-73.988354&fov=90&heading=235&pitch=10&sensor=false
Run Code Online (Sandbox Code Playgroud)

您可以比较这些图像并检查它是否存在.