20 May 2018

(Google Map)구글 스트리트 뷰(로드 뷰)

구글 map api 문서에 정말 자세히 알려주고 있다. https://developers.google.com/maps/documentation/android-api/streetview?hl=ko

  1. 구글맵 등록(생략)

  2. xml에 스트리트 지도가 될 fragment추가

    //activity_streetview.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <fragment
            android:name="com.google.android.gms.maps.StreetViewPanoramaFragment"
            android:id="@+id/streetviewpanorama"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    </android.support.constraint.ConstraintLayout>
    
  3. java 파일에 스트리트뷰를 불러올 콜백함수 설정

    //streetView.java
       
    import android.content.Intent;
    import android.graphics.BitmapFactory;
    import android.graphics.drawable.BitmapDrawable;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
       
    import com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback;
    import com.google.android.gms.maps.StreetViewPanorama;
    import com.google.android.gms.maps.StreetViewPanoramaFragment;
    import com.google.android.gms.maps.model.LatLng;
       
    /**
     * Created by Leeyerin on 2017. 12. 27..
     */
       
    public class streetView extends AppCompatActivity implements OnStreetViewPanoramaReadyCallback{
       
        LatLng setLocation; 
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_streetview);
              
            //스트리트뷰 콜백 설정
            //이 코드를 적어야 스트리트뷰가 보인다
            StreetViewPanoramaFragment streetViewPanoramaFragment =
                    (StreetViewPanoramaFragment) getFragmentManager()
                            .findFragmentById(R.id.streetviewpanorama);
            streetViewPanoramaFragment.getStreetViewPanoramaAsync(this);
        }
    

    //onStreetViewPanoramaReady(StreetViewPanorama) 콜백 메서드 //스트리트 뷰와 관련된 부분 설정해주면 됨 @Override public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) { setLocation = new LatLng(37.555,126.21355); //지도가 보여질 위치를 설정 streetViewPanorama.setPosition(setLocation); //사용자가 드래그로 카메라의 방향을 조절할 수 있는지 여부를 결정합니다. streetViewPanorama.setPanningGesturesEnabled(true); //사용자가 다른 파노라마로 이동할 수 있는지 여부를 결정합니다. 사용자가 내비게이션 링크를 한 번 누르거나 뷰를 두 번 눌러서 새 파노라마로 이동할 수 있습니다. streetViewPanorama.setUserNavigationEnabled(true); //사용자가 손가락을 모아서 확대/축소할 수 있는지 여부를 결정합니다. streetViewPanorama.setZoomGesturesEnabled(true); //사용자가 지상에 표시된 거리 이름을 볼 수 있는지 여부를 결정합니다. streetViewPanorama.setStreetNamesEnabled(true);

    }
    

    }

    
       
    
Thank You For Reading
Yerin

공부하는 블로그입니다!
궁금한 점은 댓글을 달아주세요!

comments powered by Disqus