Как изменить угол камеры StreetViewPanoramaFragment? - PullRequest
0 голосов
/ 23 октября 2018
StreetViewPanoramaFragment streetViewFragment = (StreetViewPanoramaFragment) getFragmentManager().findFragmentById(R.id.g_map_street);
streetViewFragment.getStreetViewPanoramaAsync(this);

@Override
    public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
        streetView = streetViewPanorama;
        streetViewPanorama.setPosition(new LatLng(Latitude, Longtitude));
    }

У меня есть значение Заголовок , которое возвращает угол.

https://maps.googleapis.com/maps/api/streetview?size=800x800&location=%s,%s&heading=%s

Используя его, я могу правильно получить изображение Streetview, но не работаю в StreetViewPanoramaFragment .

1 Ответ

0 голосов
/ 27 октября 2018

Наконец , после множества исследований и разработок я нашел это решение ... и оно работает для меня.

@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
    streetViewPanorama.setPosition(new LatLng(Latitude, Longtitude));
    try {
        //Change angle of street view
        final int DURATION = 1000;
        StreetViewPanoramaCamera camera = new StreetViewPanoramaCamera.Builder()
                .zoom(streetViewPanorama.getPanoramaCamera().zoom)
                .tilt(streetViewPanorama.getPanoramaCamera().tilt)
                .bearing(streetViewPanorama.getPanoramaCamera().bearing + angle) // angle value by Maps Api
                .build();
        streetViewPanorama.animateTo(camera, DURATION);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
...