我只是玩Android的谷歌播放服务4.4新的StreetView功能(link),我想知道是否有任何方法/可能性检查是否有任何给定位置的“视图”/照片材料。 当我加载一个未被StreetView覆盖的位置时,我只会看到一个黑屏。 任何方法事先检查?Android StreetView检查是否有给定位置的任何视图
4
A
回答
9
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
mPanorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() {
@Override
public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) {
if (streetViewPanoramaLocation != null && streetViewPanoramaLocation.links != null) {
// location is present
} else {
// location not available
}
}
});
望着我相信文档这应该这样做
StreetViewPanoramaLocation location = mSvp.getLocation();
if (location != null && location.links != null) {
mSvp.setPosition(location.links[0].panoId);
}
这是我的理解是,如果location
为空或location.links
(链接为街景图像阵列)为null,则它是安全的,说有在该位置
没有街道视图从这个链接
引用
编辑
测试了这一点,有一个警告这种方法,你必须等待,直到视图已创建。所以例如在onCreateView
的片段本身内部,我放入一个处理器,延迟1秒来测试这个理论。
Handler h = new Handler();
h.postDelayed(new Runnable(){
@Override
public void run() {
StreetViewPanoramaLocation svpl = mSvp.getLocation();
if(svpl == null){
Toast.makeText(getActivity(), "Unable to show Street View at this location", Toast.LENGTH_SHORT).show();
}
}
}, 1000);
如果您在创建视图之前尝试使用getLocation()
,它将始终返回null。之后访问,则会返回null如果在这些坐标
编辑2没有街道视图:
现在有,你应该使用,让你知道当街景准备回调
getStreetViewPanoramaAsync(new OnStreetViewPanoramaReadyCallback(){
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
}
})
9
当位置不存在时会出现黑屏。只要检查它是否被加载。
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
mPanorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() {
@Override
public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) {
if (streetViewPanoramaLocation != null && streetViewPanoramaLocation.links != null) {
// location is present
} else {
// location not available
}
}
});
+0
这是正确答案。 –
+0
是的,你是对的,这是我的错误,所以删除我的意见。 – orchidrudra
相关问题
- 1. 如何检查给定的字符串是否为有效的地理位置?
- 2. 如何检查数组是否具有特定位置的值?
- 3. 如何检查两个图像视图是否位于同一位置?
- 4. 检查存储为位串的字节是否设置在给定位置
- 5. 检查文本视图是否在android
- 6. 如何检查图像是否存在于特定位置?
- 7. 检查是否从给定日期的任何日期位于多个日期
- 8. Android查看位置视图
- 9. Android:在任意位置放置视图
- 10. Android位置服务 - 检查位置是否已激活
- 11. 如何检查给定的图像是否是java中的CMYK?
- 12. 检查CGPoint是否在给定视图内?
- 13. 如何检查给定的值是否是有效的URL
- 14. 如何检查给定文件是否是C++中的有效视频文件?
- 15. Android检查位图是否包含另一个位图
- 16. Python:检查给定目录中是否存在任何文件
- 17. 如何检查设备是否具有给定的功能?
- 18. 如何设置和检查是否设置了特定位?
- 19. 如何检查Google Maps视口中是否有任何标记?
- 20. 检查是否有任何UserControl打开
- 21. 检查是否有任何输入值
- 22. 检查ServletResponse是否有任何内容
- 23. 检查文件是否是任何图像(一般检查) - PHP
- 24. 检查元素是否具有从给定阵列的任何属性
- 25. 如何检查Android中的位图(或画布)是否为空
- 26. 图像视图 - 是否有可能设置UIImageView dynamicaly的位置?
- 27. 检查设备的当前位置(位置)是否在某个特定位置
- 28. 如何检查视图是否存在?
- 29. 如何检查视图是否存在?
- 30. 是否有无论如何检查给定的XPath在Python中是否有效?
对我不起作用 –