본문 바로가기
프로그래밍/App 개발

[android] 구글맵 선긋기

by 엽기토기 2020. 8. 6.
반응형

* 코드 참고

https://webnautes.tistory.com/1011

 

Android Google Map에 현재 위치 표시하기( GoogleApiClient, FusedLocationApi 사용)

GoogleApiClient와 FusedLocationApi를 사용하여 구글맵에 현재 위치를 표시하는 예제입니다. 최종 업데이트 -  2017. 11.27 Deprecated된 FusedLocationApi를 대체하는 FusedLocationProviderClient를 사용하도..

webnautes.tistory.com

https://jinseongsoft.tistory.com/23

 

(Android) Google Map 이동한 거리 선(polyline) 으로 그리기

Android Google Map Polyline Google Map 라이브러리를 사용하여 지도 관련 프로젝트를 진행하고 있습니다. GPS를 통해 걸음을 체크하는 서비스  걸음 시작 버튼을 누른 후부터 특정 주기로 GPS를 기록하여 �

jinseongsoft.tistory.com

- 수정한 부분

private LatLng startLatLng = new LatLng(0, 0);       
    private LatLng endLatLng = new LatLng(0, 0);       
    List<Polyline>polylines =new ArrayList<>();

LocationCallback locationCallback = new LocationCallback() {
        @Override
        public void onLocationResult(LocationResult locationResult) {
            super.onLocationResult(locationResult);

            List<Location> locationList = locationResult.getLocations();

            if (locationList.size() > 0) {
                location = locationList.get(locationList.size() - 1);
                //location = locationList.get(0);

                double latitude =location.getLatitude();
                double longtitude=location.getLongitude();

                if(startLatLng.latitude==0&&startLatLng.longitude==0){
                    startLatLng=new LatLng(latitude,longtitude);
                }

                currentPosition
                        = new LatLng(latitude, longtitude);


                String markerTitle = getCurrentAddress(currentPosition);
                String markerSnippet = "위도:" + String.valueOf(latitude)
                        + " 경도:" + String.valueOf(longtitude);

                Log.d(TAG, "onLocationResult : " + markerSnippet);


                //현재 위치에 마커 생성하고 이동
                setCurrentLocation(location, markerTitle, markerSnippet);

                mCurrentLocatiion = location;
                endLatLng = new LatLng(latitude, longtitude);        
                drawPath();
                startLatLng = new LatLng(latitude, longtitude);
            }
        }
    };

반응형