从资产文件夹或URL加载全景图

时间:2017-11-21 09:03:45

标签: c# android xamarin.android google-play-services panoramas

我一直在使用Xamarin.GooglePlayServices.Panorama 60.1142.0-rc1包来显示简单的全屏全景活动。以下代码成功地从片段开始全景活动:

public async void OnConnected(Bundle connectionHint)
{
    Android.Net.Uri uri = Android.Net.Uri.Parse("android.resource://" + Activity.PackageName + "/" + Resource.Raw.pano1);
    var panoramaResult = await Android.Gms.Panorama.PanoramaClass.PanoramaApi.LoadPanoramaInfoAsync( googleApiClient, uri);

    if(panoramaResult.Status.IsSuccess)
    {
        if(panoramaResult.ViewerIntent != null)
        {
            StartActivity(panoramaResult.ViewerIntent);
        }
        else
        {
            Activity.RunOnUiThread(() => {
                Toast.MakeText(Activity, "WTF?!", ToastLength.Short).Show();
            });
        }
    }
}

但是,如果我尝试从资源或URL加载相同的全景jpg,如下所示:

Android.Net.Uri uri = Android.Net.Uri.Parse("file:///android_asset/panorama/pano1.jpg");

或者像这样:

Android.Net.Uri uri = Android.Net.Uri.Parse("https://raw.githubusercontent.com/xzs424/RBCPrototypeChallenge/master/PanoramaSampleActivity/res/raw/pano1.jpg");

panoramaResult.ViewerIntent为null,并且没有要启动的活动。文档说如果图像不是Google全景图,则ViewerIntent应为null,但代码的所有三部分都使用相同的图像,只有它位于不同的位置。那么,有没有办法从资源中的原始文件夹以外的任何地方加载全景图像?请注意,我还尝试了最新的稳定Xamarin.GooglePlayServices.Panorama,在撰写本文时为42.1021.1,没有运气。

0 个答案:

没有答案