类com.google.android.gms.maps.model.StreetViewPanoramaCamera源码实例Demo

下面列出了怎么用com.google.android.gms.maps.model.StreetViewPanoramaCamera的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: animation-samples   文件: StreetViewFragment.java
private void setUpStreetViewPanoramaIfNeeded(final LatLng location) {
    mMapFragment.getStreetViewPanoramaAsync(new OnStreetViewPanoramaReadyCallback() {
        @Override
        public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
            if (streetViewPanorama != null) {
                streetViewPanorama.setPosition(location);
                streetViewPanorama.setUserNavigationEnabled(true);
                streetViewPanorama.setPanningGesturesEnabled(true);
                streetViewPanorama.setZoomGesturesEnabled(true);

                StreetViewPanoramaCamera galleryOrientation = StreetViewPanoramaCamera.
                        builder(streetViewPanorama.getPanoramaCamera())
                        .bearing(mDetail.getBearing())
                        .tilt(mDetail.getTilt())
                        .build();
                streetViewPanorama.animateTo(galleryOrientation, TimeUnit.SECONDS.toMillis(1));
            }
        }
    });
}
 
源代码2 项目: react-native-streetview   文件: NSTStreetView.java
public void setPov(ReadableMap pov) {

        if (pov == null ) return;
        tilt = (float) pov.getDouble("tilt");
        bearing = (float) pov.getDouble("bearing");
        zoom = pov.getInt("zoom");

        long duration = 1000;
         if (bearing > 0 && this.started) {
             StreetViewPanoramaCamera camera = new StreetViewPanoramaCamera.Builder()
             .zoom(zoom)
             .tilt(tilt)
             .bearing(bearing)
             .build();
             panorama.animateTo(camera,duration);
          }

    }
 
源代码3 项目: journaldev   文件: MainActivity.java
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
    mStreetViewPanorama = streetViewPanorama;

    if (secondLocation) {
        streetViewPanorama.setPosition(new LatLng(51.52887, -0.1726073), StreetViewSource.OUTDOOR);
    } else {
        streetViewPanorama.setPosition(new LatLng(51.52887, -0.1726073));
    }
    streetViewPanorama.setStreetNamesEnabled(true);
    streetViewPanorama.setPanningGesturesEnabled(true);
    streetViewPanorama.setZoomGesturesEnabled(true);
    streetViewPanorama.setUserNavigationEnabled(true);
    streetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder().
                    orientation(new StreetViewPanoramaOrientation(20, 20))
                    .zoom(streetViewPanorama.getPanoramaCamera().zoom)
                    .build(), 2000);

    streetViewPanorama.setOnStreetViewPanoramaChangeListener(panoramaChangeListener);


}
 
public void onPanUp(View view) {
    if (!checkReady()) {
        return;
    }

    float currentTilt = mStreetViewPanorama.getPanoramaCamera().tilt;
    float newTilt = currentTilt + PAN_BY_DEG;

    newTilt = (newTilt > 90) ? 90 : newTilt;

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder()
                    .zoom(mStreetViewPanorama.getPanoramaCamera().zoom)
                    .tilt(newTilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing)
                    .build(), getDuration());
}
 
public void onPanDown(View view) {
    if (!checkReady()) {
        return;
    }

    float currentTilt = mStreetViewPanorama.getPanoramaCamera().tilt;
    float newTilt = currentTilt - PAN_BY_DEG;

    newTilt = (newTilt < -90) ? -90 : newTilt;

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder()
                    .zoom(mStreetViewPanorama.getPanoramaCamera().zoom)
                    .tilt(newTilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing)
                    .build(), getDuration());
}
 
源代码6 项目: AndroidDemoProjects   文件: MainActivity.java
private void initStreetView( ) {
	StreetViewPanoramaFragment fragment = ( (StreetViewPanoramaFragment) getFragmentManager().findFragmentById( R.id.street_view_panorama_fragment ) );
	if( mPanorama == null ) {
		if( fragment != null ) {
			mPanorama = fragment.getStreetViewPanorama();
			if( mPanorama != null && mCurrentLocation != null ) {
				StreetViewPanoramaCamera.Builder builder = new StreetViewPanoramaCamera.Builder( mPanorama.getPanoramaCamera() );
				if( mBearing != builder.bearing )
					builder.bearing = mBearing;
				if( mTilt != builder.tilt )
					builder.tilt = mTilt;
				if( mZoom != builder.zoom )
					builder.zoom = mZoom;
				mPanorama.animateTo(builder.build(), 0);
				mPanorama.setPosition( mCurrentLocation, 300 );
				mPanorama.setStreetNamesEnabled( true );
			}
		}
	}
}
 
public void panUp()
{
	float currentTilt = streetViewPanorama.getPanoramaCamera().tilt;
	float newTilt = currentTilt + PAN_BY_DEG;
	newTilt = (newTilt > 90) ? 90 : newTilt;

	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom)
			.tilt(newTilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing)
			.build(), 1000);
}
 
public void panDown()
{
	float currentTilt = streetViewPanorama.getPanoramaCamera().tilt;
	float newTilt = currentTilt - PAN_BY_DEG;
	newTilt = (newTilt < -90) ? -90 : newTilt;

	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom)
			.tilt(newTilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing)
			.build(), 1000);
}
 
public void panRight()
{
	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom)
			.tilt(streetViewPanorama.getPanoramaCamera().tilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing + PAN_BY_DEG)
			.build(), 1000);
}
 
public void panLeft()
{
	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom)
			.tilt(streetViewPanorama.getPanoramaCamera().tilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing - PAN_BY_DEG)
			.build(), 1000);
}
 
public void zoomIn()
{
	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom + ZOOM_BY)
			.tilt(streetViewPanorama.getPanoramaCamera().tilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing)
			.build(), 1000);
}
 
public void zoomOut()
{
	streetViewPanorama.animateTo(new StreetViewPanoramaCamera.Builder()
			.zoom(streetViewPanorama.getPanoramaCamera().zoom - ZOOM_BY)
			.tilt(streetViewPanorama.getPanoramaCamera().tilt)
			.bearing(streetViewPanorama.getPanoramaCamera().bearing)
			.build(), 1000);
}
 
public void walk()
{
	StreetViewPanoramaLocation location = streetViewPanorama.getLocation();
	StreetViewPanoramaCamera camera = streetViewPanorama.getPanoramaCamera();
	if (location != null && location.links != null)
	{
		StreetViewPanoramaLink link = findClosestLinkToBearing(location.links, camera.bearing);
		streetViewPanorama.setPosition(link.panoId);
	}
}
 
@Override
public void onStreetViewPanoramaClick(StreetViewPanoramaOrientation orientation) {
    Point point = streetViewPanorama.orientationToPoint(orientation);
    if (point != null) {
        panoClickTimes++;
        panoClickTextView.setText(
                "Times clicked=" + panoClickTimes + " : " + point.toString());
        streetViewPanorama.animateTo(
                new StreetViewPanoramaCamera.Builder()
                        .orientation(orientation)
                        .zoom(streetViewPanorama.getPanoramaCamera().zoom)
                        .build(), 1000);
    }
}
 
public void onZoomIn(View view) {
    if (!checkReady()) {
        return;
    }

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder().zoom(
                    mStreetViewPanorama.getPanoramaCamera().zoom + ZOOM_BY)
                    .tilt(mStreetViewPanorama.getPanoramaCamera().tilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing)
                    .build(), getDuration());
}
 
public void onZoomOut(View view) {
    if (!checkReady()) {
        return;
    }

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder().zoom(
                    mStreetViewPanorama.getPanoramaCamera().zoom - ZOOM_BY)
                    .tilt(mStreetViewPanorama.getPanoramaCamera().tilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing)
                    .build(), getDuration());
}
 
public void onPanLeft(View view) {
    if (!checkReady()) {
        return;
    }

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder().zoom(
                    mStreetViewPanorama.getPanoramaCamera().zoom)
                    .tilt(mStreetViewPanorama.getPanoramaCamera().tilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing - PAN_BY_DEG)
                    .build(), getDuration());
}
 
public void onPanRight(View view) {
    if (!checkReady()) {
        return;
    }

    mStreetViewPanorama.animateTo(
            new StreetViewPanoramaCamera.Builder().zoom(
                    mStreetViewPanorama.getPanoramaCamera().zoom)
                    .tilt(mStreetViewPanorama.getPanoramaCamera().tilt)
                    .bearing(mStreetViewPanorama.getPanoramaCamera().bearing + PAN_BY_DEG)
                    .build(), getDuration());

}
 
public void onMovePosition(View view) {
    StreetViewPanoramaLocation location = mStreetViewPanorama.getLocation();
    StreetViewPanoramaCamera camera = mStreetViewPanorama.getPanoramaCamera();
    if (location != null && location.links != null) {
        StreetViewPanoramaLink link = findClosestLinkToBearing(location.links, camera.bearing);
        mStreetViewPanorama.setPosition(link.panoId);
    }
}
 
源代码20 项目: AndroidDemoProjects   文件: MapFragment.java
private void showStreetView( LatLng latLng ) {
    if( mPanorama == null )
        return;

    StreetViewPanoramaCamera.Builder builder = new StreetViewPanoramaCamera.Builder( mPanorama.getPanoramaCamera() );
    builder.tilt( 0.0f );
    builder.zoom( 0.0f );
    builder.bearing( 0.0f );
    mPanorama.animateTo( builder.build(), 0 );

    mPanorama.setPosition( latLng, 300 );
    mPanorama.setStreetNamesEnabled( true );
}
 
@Override
public void onStreetViewPanoramaCameraChange(StreetViewPanoramaCamera streetViewPanoramaCamera)
{
	Log.d(MainActivity.TAG, "onStreetViewPanoramaCameraChange() called with: streetViewPanoramaCamera = [" + streetViewPanoramaCamera + "]");
}
 
源代码22 项目: react-native-streetview   文件: NSTStreetView.java
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama panorama) {

    this.panorama = panorama;
    this.panorama.setPanningGesturesEnabled(allGesturesEnabled);

    final EventDispatcher eventDispatcher = ((ReactContext) getContext())
            .getNativeModule(UIManagerModule.class).getEventDispatcher();

    this.panorama.setOnStreetViewPanoramaCameraChangeListener(new StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener() {
        @Override
        public void onStreetViewPanoramaCameraChange(StreetViewPanoramaCamera streetViewPanoramaCamera) {
            if (!(streetViewPanoramaCamera.bearing >= 0 ) && coordinate != null) {
                eventDispatcher.dispatchEvent(
                        new NSTStreetViewEvent(getId(), NSTStreetViewEvent.ON_ERROR)
                );
            }
        }
    });

    panorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() {
        @Override
        public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) {
            if (streetViewPanoramaLocation != null) {
                WritableMap map = Arguments.createMap();
                map.putDouble("latitude", streetViewPanoramaLocation.position.latitude);
                map.putDouble("longitude", streetViewPanoramaLocation.position.longitude);
                eventDispatcher.dispatchEvent(
                        new NSTStreetViewEvent(getId(), NSTStreetViewEvent.ON_SUCCESS, map)
                );
            } else {
                eventDispatcher.dispatchEvent(
                        new NSTStreetViewEvent(getId(), NSTStreetViewEvent.ON_ERROR)
                );
            }
        }
    });

    if (coordinate != null) {
        this.panorama.setPosition(coordinate, radius);
    }

   long duration = 1000;
   if (bearing > 0) {
         StreetViewPanoramaCamera camera = new StreetViewPanoramaCamera.Builder()
       .zoom(zoom)
       .tilt(tilt)
       .bearing(bearing)
       .build();
         panorama.animateTo(camera,duration);
    }
    this.started = true;
}
 
源代码23 项目: android   文件: LotInfoFragment.java
@Override
public void setAttributes(LotAttrs attrs, final StreetView streetView) {
    this.mAttrs = attrs;
    this.mStreetView = streetView;
    if (mAdapter != null) {
        mAdapter.setFooterAttrs(attrs);
    }

    if (vStreetViewPanoramaView != null) {
        vStreetViewPanoramaView.getStreetViewPanoramaAsync(new OnStreetViewPanoramaReadyCallback() {
            @Override
            public void onStreetViewPanoramaReady(final StreetViewPanorama panorama) {
                vStreetViewPanoramaView.setVisibility(View.VISIBLE);
                panorama.setUserNavigationEnabled(false);
                panorama.setPanningGesturesEnabled(false);
                panorama.setZoomGesturesEnabled(false);

                if (!TextUtils.isEmpty(streetView.getId())) {
                    panorama.setPosition(streetView.getId());

                    panorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() {
                        @Override
                        public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) {
                            if (streetViewPanoramaLocation == null) {
                                Log.v(TAG, "Location not found. panoramaId: " + streetView.getId());
                                return;
                            }

                            try {
                                if (streetView.getId().equals(streetViewPanoramaLocation.panoId)) {
                                    panorama.animateTo(new StreetViewPanoramaCamera.Builder()
                                            .zoom(Const.UiConfig.STREET_VIEW_ZOOM)
                                            .bearing(streetView.getHead())
                                            .build(), Const.UiConfig.STREET_VIEW_DELAY);

                                    vStreetViewPanoramaView.postDelayed(new Runnable() {
                                        @Override
                                        public void run() {
                                            ObjectAnimator
                                                    .ofFloat(vStreetViewDelayFix, View.ALPHA, 1, 0)
                                                    .start();
                                        }
                                    }, Const.UiConfig.STREET_VIEW_DELAY);
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    });
                }
            }
        });
    }
}
 
@Override
public void onStreetViewPanoramaCameraChange(StreetViewPanoramaCamera camera) {
    panoCameraChangeTextView.setText("Times camera changed=" + ++panoCameraChangeTimes);
}
 
 类方法
 同包方法