이번엔 구글맵 자체를 클릭했을 때 좌표를 얻는 방법을 구현해보겠습니다.


1. setOnMapClickListener 사용


        googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() 
            }
        });
    }
cs


이렇게 onMapClickListener()를 설정합니다. onMapClickListener의 안에서 여러가지를 구현할 수 있습니다.


            @Override
            public void onMapClick(LatLng point) {
                ReferSharedPreference preferenceCoordinates = new ReferSharedPreference(getContext());
                MarkerOptions marker = new MarkerOptions().position(
                        new LatLng(point.latitude, point.longitude)).title("ok");
                preferenceCoordinates.put("Coor""{ \"longitude\": \""+point.latitude +"\",     \"latitude\": \""+point.longitude+"\" } ");
                preferenceCoordinates.put("Lat"String.valueOf(point.latitude));
                preferenceCoordinates.put("Lon"String.valueOf(point.longitude));

cs


지도의 좌표를 가져올 수 있습니다.


                googleMap.clear();
                googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, 14));
                googleMap.addMarker(marker);
cs


이걸로 애니메이션을 구현합니다. 카메라 줌도 바꿀 수 있으며 마커도 새로 추가할 수 있습니다.


                String lat = preferenceCoordinates.getValue("Lat", "13");
                String lon = preferenceCoordinates.getValue("Lon", "15");
                mCoordinatesTextMap.setText(lat + "  , " + lon);
cs


이렇게 하여 (13,15)를 기본으로 하는 부분을 구현했습니다. 값이 없을 경우에 지정된 값을 불러옵니다.

지난 시간의 코드와 연결됩니다.


2. 참고 코드


                ReferSharedPreference preferenceCoordinates = new ReferSharedPreference(getContext());
                LatLng point = new LatLng(googleMap.getMyLocation().getLatitude(), googleMap.getMyLocation().getLongitude());
                MarkerOptions marker = new MarkerOptions()
                        .position(point).title("ok");
cs


이 부분과의 접점이 있었습니다. 좌표값을 SharedPreference에 저장해 놓거나 새로 저장해서 사용하도록 합니다. 전 ReferSharedPreference라는 새로운 dataType을 만들어서 사용했습니다. 

'Java' 카테고리의 다른 글

[android] 경과한 시간에 따른 날짜 표현 방식  (0) 2018.02.03
[android] Glide와 intent 사용하기  (0) 2018.02.03
[android] 구글맵 2  (0) 2018.02.03
[android] 구글맵 1  (0) 2018.02.03
[android] Fragment 만들기 2-2  (0) 2018.02.03

+ Recent posts