Xamarin Google Maps StreetView-没有强制室外位置的选项

时间:2018-10-31 13:55:27

标签: xamarin xamarin.ios xamarin.android google-maps-android-api-2 google-maps-sdk-ios


我在Xamarin.Android的Google Maps v2(Android.Gms.Maps)和Xamarin.iOS的Xamarin.Google.iOS.Maps中发现缺少功能。
问题与创建StreetView有关。根据文档(本机Android SDK),您可以使用4种方法使用SetPosition方法设置街景视图的位置。其中两个接受StreetViewSource参数,您可以通过该参数强制StreetView仅使用室外图像。这是文档中的代码段:

private static final LatLng SAN_FRAN = new LatLng(37.765927, -122.449972);
// Set position with LatLng only.
mStreetViewPanorama.setPosition(SAN_FRAN);
// Set position with LatLng and radius.
mStreetViewPanorama.setPosition(SAN_FRAN, 20);
// Set position with LatLng and source.
mStreetViewPanorama.setPosition(SAN_FRAN, StreetViewSource.OUTDOOR);
// Set position with LaLng, radius and source.
mStreetViewPanorama.setPosition(SAN_FRAN, 20, StreetViewSource.OUTDOOR);

不幸的是,在Xamarin上,没有重载接受StreetViewSource参数的方法(甚至也不包含StreetViewSource类)。
有什么办法可以克服这个问题?还是缺少功能,迟早要添加(最好早些添加)?

1 个答案:

答案 0 :(得分:1)

在您的IOnStreetViewPanoramaReadyCallback实现中,您可以将StreetViewPanorama的位置设置为包含StreetViewSource.Outdoor

public void OnStreetViewPanoramaReady(StreetViewPanorama panorama)
{
    panorama.SetPosition(new LatLng(-33.87365, 151.20689), StreetViewSource.Outdoor);
    ~~~
}

更新:

您需要至少安装70.1501.0-preview...

<package id="Xamarin.GooglePlayServices.Maps" version="70.1501.0-preview2" targetFramework="monoandroid90" />