StreetViewPanorama手势崩溃

时间:2014-06-26 15:52:26

标签: android google-maps google-maps-android-api-2 google-street-view

我试图创建一个基于ViewSwitcher的Android小部件,里面有MapView和StreetViewPanoramaView。用户可以使用覆盖的控制栏从街道切换到地图视图。

到目前为止,一切都适用于地图部分,但不适用于街景部分。

在第一次显示时,它似乎有效但当我试图移动(平移和/或缩放)时,StreetViewPanorama崩溃(变黑)。

这就是我创建StreetViewPanorama的方式:

final StreetViewPanoramaOptions options = new StreetViewPanoramaOptions();
    options.streetNamesEnabled(true)
            .zoomGesturesEnabled(true)
            .panningGesturesEnabled(true);

    mStreetView = new StreetViewPanoramaView(getActivity(), options);
    mStreetView.onCreate(savedInstanceState);

我如何定义两者的位置(地图和街景)

 // Set map to position and add a new marker
    final GoogleMap map = mMapView.getMap();
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(mLocation, DEFAULT_ZOOM_LEVEL));
    if (mMarker != null){
        mMarker.remove();
    }
    mMarker = map.addMarker(new MarkerOptions().draggable(false).position(mLocation));

    // Set street view to location.
    final StreetViewPanorama street = mStreetView.getStreetViewPanorama();
    street.setPosition(mLocation, 50);

    // Hide by default controls and street view button.
    // I will be enabled only if it's a valid street view location
    mControlsView.setVisibility(View.GONE);
    mStreetBtnContainer.setVisibility(View.GONE);

    switchToMapView();

    // we must add a delay to check if the new street view location is valid.
    // see : http://stackoverflow.com/a/23785186
    mHandler.postDelayed(new Runnable() {
        @Override
        public void run() {
            mHasStreetView = street.getLocation() != null;
            if (mHasStreetView){
                mStreetBtnContainer.setVisibility(View.VISIBLE);
            }
            showControlView();
        }
    }, STREET_DELAY_MILLIS);

有人遇到同样的问题吗?

干杯。

0 个答案:

没有答案