Skip to content

Commit

Permalink
[Fix] Location Manager에서 위경도 핸들링 - #2
Browse files Browse the repository at this point in the history
  • Loading branch information
Jin0331 committed Jan 29, 2025
1 parent 8654cf3 commit d38f7dd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
7 changes: 7 additions & 0 deletions Whidy-iOS/Core/Utils/LocationManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,19 @@ final class LocationManager: NSObject, CLLocationManagerDelegate {
return locationManager
}

// 위도 및 경도 반환 함수
func getCoordinates() -> (latitude: Double?, longitude: Double?) {
return (latitude, longitude)
}

// CLLocationManagerDelegate 메서드
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let location = locations.last else { return }
latitude = location.coordinate.latitude
longitude = location.coordinate.longitude
altitude = location.altitude

Logger.debug("getCoordinates() - latitude: \(latitude ?? 0.0), longitude: \(longitude ?? 0.0)")
}

func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
Expand Down
12 changes: 6 additions & 6 deletions Whidy-iOS/Core/Utils/NaverMapManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import NMapsMap

final class NaverMapManager : NSObject, ObservableObject, NMFMapViewCameraDelegate, NMFMapViewTouchDelegate, CLLocationManagerDelegate {
static let shared = NaverMapManager()
private let locationManager = LocationManager.shared.getManager()
private let locationManager = LocationManager.shared

let view = NMFNaverMapView(frame: .zero)
@Published var coord: (Double, Double) = (0.0, 0.0)
Expand Down Expand Up @@ -38,19 +38,19 @@ final class NaverMapManager : NSObject, ObservableObject, NMFMapViewCameraDelega

// MARK: - 위치 정보 동의 확인
func checkLocationAuthorization() {
switch locationManager.authorizationStatus {
switch locationManager.getManager().authorizationStatus {
case .notDetermined:
Logger.debug("notDetermined")
locationManager.requestWhenInUseAuthorization()
locationManager.getManager().requestWhenInUseAuthorization()
case .restricted:
Logger.debug("위치 정보 접근이 제한되었습니다.")
case .denied:
Logger.debug("위치 정보 접근을 거절했습니다. 설정에 가서 변경하세요.")
case .authorizedAlways, .authorizedWhenInUse:
Logger.debug("Success")

coord = (Double(locationManager.location?.coordinate.latitude ?? 0.0), Double(locationManager.location?.coordinate.longitude ?? 0.0))
userLocation = (Double(locationManager.location?.coordinate.latitude ?? 0.0), Double(locationManager.location?.coordinate.longitude ?? 0.0))
coord = (locationManager.getCoordinates().latitude ?? 0.0, locationManager.getCoordinates().longitude ?? 0.0)
userLocation = (locationManager.getCoordinates().latitude ?? 0.0, locationManager.getCoordinates().longitude ?? 0.0)

fetchUserLocation()

Expand All @@ -72,7 +72,7 @@ final class NaverMapManager : NSObject, ObservableObject, NMFMapViewCameraDelega
}

private func fetchUserLocation() {
if let lat = locationManager.location?.coordinate.latitude, let lng = locationManager.location?.coordinate.longitude {
if let lat = locationManager.getCoordinates().latitude, let lng = locationManager.getCoordinates().longitude {
Logger.debug("fetchUserLocation Success ✅")
let cameraUpdate = NMFCameraUpdate(scrollTo: NMGLatLng(lat: lat, lng: lng), zoomTo: 15)
cameraUpdate.animation = .easeIn
Expand Down

0 comments on commit d38f7dd

Please sign in to comment.