1. 준비물

구글맵을 넣기 위해선 Activity 에서 해줘야 할 작업이 있습니다. 구글맵은 com.google.android.gms.maps.GoogleMap; 의 형태로 지원됩니다.

 

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
cs


그 후 작업을 하면 됩니다. 이 경우에도 변수에 유의해야 합니다.

 

public class BlueFragment extends Fragment implements OnMapReadyCallback {
 
    public GoogleMap googleMap;
}
cs


이렇게 구글맵을 따로 잡아줘야 합니다. GoogleMap이라는 변수를 사용했습니다.

레이아웃을 불러오겠습니다.


2. 레이아웃 불러오기



    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 
        View view = inflater.inflate(R.layout.fragment_blue, container, false);
        MapView mapview = (MapView) view.findViewById(R.id.map_blue);
        mapview.onCreate(savedInstanceState);
        mapview.onResume();
        mapview.getMapAsync(this);
 
        mCoordinatesTextMap = (TextView) view.findViewById(R.id.tv_coordinates_map);
 
        return view;
    }
 
cs


이렇게 onCreateView를 구현합니다. 단순히 mapview를 view.findViewById로 가져오는 것이 아닙니다. 

인자로 R.layout.fragment_blue, container, false를 사용했다는 것을 명심해야 합니다.


3. 구글맵 사용자 권한 설정


    @Override
    public void onMapReady(final GoogleMap googleMap) {
 
        int permissionCheck = ContextCompat.checkSelfPermission(getActivity(),
                Manifest.permission.READ_EXTERNAL_STORAGE);
 
        if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
            googleMap.setMyLocationEnabled(true);
        } else {
            ActivityCompat.requestPermissions(getActivity(),
                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                    2000);
        }
}
cs


권한 획득을 하는 곳까지 구현했습니다.

구글맵 사용시 위치정보 사용권한을 사용자에게 묻는 코드입니다. 더 궁금하다면 Manifest.permission.READ_EXTERNAL_STORAGE에서 추가 내용을 확인합니다.

'Java' 카테고리의 다른 글

[android] 구글맵 3  (0) 2018.02.03
[android] 구글맵 2  (0) 2018.02.03
[android] Fragment 만들기 2-2  (0) 2018.02.03
[android] Fragment 만들기 2-1  (0) 2018.02.03
[android] Fragment 만들기1  (0) 2018.02.03

+ Recent posts