공부하는 블로그입니다!
궁금한 점은 댓글을 달아주세요!
(Google Map)구글 스트리트 뷰(로드 뷰)
구글 map api 문서에 정말 자세히 알려주고 있다. https://developers.google.com/maps/documentation/android-api/streetview?hl=ko
-
구글맵 등록(생략)
-
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>
-
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);
}
}