1. 준비물


먼저 import 해야할 것이 있습니다.


import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
cs


이렇게 해야 좌표를 찍을 수 있습니다. 이걸로 좌표정보인 위도와 경도, 그리고 마커를 조작할 수 있게 됩니다.


2. 코드 구현


좌표를 얻는 코드를 구현하겠습니다.


        googleMap.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {
            @Override
            public boolean onMyLocationButtonClick() {
                ReferSharedPreference preferenceCoordinates = new ReferSharedPreference(getContext());
                LatLng point = new LatLng(googleMap.getMyLocation().getLatitude(), googleMap.getMyLocation().getLongitude());
                MarkerOptions marker = new MarkerOptions()
                        .position(point).title("ok");
                preferenceCoordinates.put("Coor", "{ \"longitude\": \""+ googleMap.getMyLocation().getLatitude() +"\",     \"latitude\": \""+ googleMap.getMyLocation().getLongitude() +"\" } ");
                preferenceCoordinates.put("Lat", String.valueOf(googleMap.getMyLocation().getLatitude()));
                preferenceCoordinates.put("Lon", String.valueOf(googleMap.getMyLocation().getLongitude()));
                googleMap.clear();
                googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, 14));
                googleMap.addMarker(marker);
                String lat = preferenceCoordinates.getValue("Lat", "13");
                String lon = preferenceCoordinates.getValue("Lon", "15");
                mCoordinatesTextMap.setText(lat + "  , " + lon);
                return true;
            }
        });
cs


이렇게 하면 기본으론 (13, 15) 좌표를 갖는 좌표클릭을 구현하게 되었습니다. 경도와 위도가 바뀌지 않도록 유의합니다.

위에서 변수 지정은 잊지 말아야 합니다. 변수 지정이 조금이라도 잘 못 되면 전체 정보가 왜곡되기 때문입니다.

ReferSharedPreference preferenceCoordinates 는 따로 지정한 DataType 이므로 나중에 다시 지정해야 합니다.


private TextView mCoordinatesTextMap;
cs


이렇게 하면 좌표를 지정할 레이아웃을 가져옵니다.

'Java' 카테고리의 다른 글

[android] Glide와 intent 사용하기  (0) 2018.02.03
[android] 구글맵 3  (0) 2018.02.03
[android] 구글맵 1  (0) 2018.02.03
[android] Fragment 만들기 2-2  (0) 2018.02.03
[android] Fragment 만들기 2-1  (0) 2018.02.03

+ Recent posts