카카오맵 v2 ios질문 드립니다

[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
https://devtalk.kakao.com/t/faq-api/125610

  1. 지도 크기문제
    IMG_0650

가이드문서에 나온 방법으로 실행하니 지도가 위 사진처럼 잘려서 나오는데 지도크기를 조정하는 방법이있나요.
지도에 사용한 뷰는 storyboard에서 특정 view를 만들어서 custom class로 KMViewContainer를 지정한다음 따로크기를 지정해 constraints를 지정해줬습니다.
코드에서
@IBOutlet weak var mapContainer: KMViewContainer!
를 사용해서 맵을 로드했습니다.

  1. 맵 센터 좌표
    이전 카카오 맵 api에서는 맵 센터좌표를 불러오는 함수가 있었는데 이번 버전에서는 따로 가이드라인에서
    찾을수 없어서 APIReference에서 찾아보니 getPosition 함수가 있어서 아래 방법으로 사용했는데 이렇게 쓰는게 맞는것인지 궁금합니다.
    mMapView.getPosition(CGPoint(x: 0.5, y: 0.5)).wgsCoord.longitude

  2. Cocoapods
    cocoapods을 사용해서 맵 api를 프로젝트에 추가하려고 가이드문서에 있는
    pod ‘KakaoMapsSDK’, ‘2.0.0’ 를 사용하면 에러가 나고 버전을 지우면 2.5.5 버전이 설치가되는데 2.0.0버전을 설치할수 없는건가요
    가이드라인에 있는 KMControllerDelegate 가 MapControllerDelegate 이렇게 변경된거 같아서 문의드립니다.

  3. 499에러
    네트워크 연결이 잘되어있는데 맵이 잘로드 되다가 가끔씩 499에러를 보내는데 이유가 궁금합니다.

  1. view hierarchy 상 KMViewContainer 의 child view 까지 resize가 잘 수행됐는지, containerResized delegate에서 수정된 사이즈로 kakaomap 의 크기가 잘 지정됐는지 확인해 보시기 바랍니다.
  2. 말씀하신 방법이 지도 중심의 좌표를 얻어오는 것이 맞습니다.
  3. 배포된 최초 버전은 2.5.0 입니다. 2.0.0 은 존재하지 않습니다.
  4. 499 에러는 인증서버에 정상적으로 네트웍 접근이 실패한 경우 발생합니다. delegate 로 전달되는 desc 메세지를 참고하시면 원인을 파악하는데 도움이 될 수 있습니다.

1번문제에서 storyboard 에서 보여지는 deivce를 아이폰12 에서 아이폰SE3로 바꾸니 정상동작하네요… 왜그런거죠

지도가 처음 시작될때 인증성공 메세지가 나왔다가 그후에 error code: 499 cancelled 라고 메세지가 나오고 인증재시도 후 성공하면 그뒤로 정상동작하는데 인증성공 후 실패메세지가 왜나오는거죠?

인증이 성공하고 나면 인증 과정을 다시 수행하지 않도록 되어 있어서 성공 후 실패는 발생하지 않을 것으로 생각됩니다만 확인을 위해서 디버그 콘솔 메세지 부탁드립니다.

@vectordev
MAP]viewDidLoad

[MAP]authenticationSucceeded

[MAP]addViews:: getView: nil

[MAP]OK:: getView:Optional(<KakaoMapsSDK.KakaoMap: 0x117d3b160>)

[MAP]error code: 499

[MAP]desc: cancelled

[MAP]retry auth…

[MAP]authenticationSucceeded

[MAP]addViews:: getView: nil

[MAP]OK:: getView:Optional(<KakaoMapsSDK.KakaoMap: 0x119321650>)
디버그 콘솔 로그입니다.
계속 성공 실패 재시도 성공 하길래 코드상으로 성공에서 멈추게 해봤는데 그 때는 맵은 잘로딩되는데 맵이 움직이질 않았고 재시도 후 재성공해야지만 재대로 맵이 동작했습니다…

이 로그는 SDK 쪽 로그가 아닌것 같습니다. SDK 의 로그는 없나요?

@vectordev
[K3f] [I][API] [MTLMapContainer(770f680)] initializeView
[K3f] [I][API] [MTLMapContainer(770f680)] Not first run.
[K3f] [I][API] ASSET ROOT PATH: /var/containers/Bundle/Application/D2319AA3-A99D-4207-B724-BF47122AE30F/[앱번들명].app/KakaoMapsSDKBundle.bundle/assets/
[K3f] [I][API] ASSET ROOT PATH:
[K3f] [I][API] Version : 2.5.2
[K3f] [I][K3fCore] app diplay scale: 1.000000
[K3f] [I][API] ASSET ROOT PATH: /var/containers/Bundle/Application/D2319AA3-A99D-4207-B724-BF47122AE30F/[앱번들명].app/KakaoMapsSDKBundle.bundle/assets/
[K3f] [I][K3fCore] DB multithreading mode set to SQLITE_CONFIG_SINGLETHREAD
[K3f] [I][BASE] DiskCache db(/var/mobile/Containers/Data/Application/C6ACFB3D-E174-494F-9E29-C8E4020471D0/Library/Caches/vectormap/cache/db/cache.db) opened.
[K3f] [I][DiskCache] Buffer initialize elapsed time : 4, buffer size : 1040
[K3f] [I][K3fCore] DiskCache initialized
[K3f] [I][K3fCore] DownloadManager initialized
[K3f] [I][K3fCore] >>> Initialize appEngine[RELEASE]{1693358200}
[K3f] [I][API] Result Received
[K3f] [I][Auth] Retry…
[K3f] [I][API] Result Received
[K3f] [I][Auth] Retry…
[K3f] [I][API] Result Received
[K3f] [I][Auth] Retry…
[K3f] [I][API] Result Received
[K3f] [E][API] Authentication Error. Msg: cancelled
[K3f] [I][API] Result Received
[K3f] [I][API] Authentication OK!!
------> 여기서 authenticationSucceeded() 함수 한번 호출
[K3f] [I][K3fCore] >>> Start appEngine[RELEASE]{1693358200}
[K3f] [I][API] [MTLMapContainer(6f511988)] StartEngine
[K3f] [I][DiskCache] Buffer initialize elapsed time : 3, buffer size : 1040
[K3f] [I][K3fCore] DiskCache initialized
[K3f] [I][K3fCore] DownloadManager initialized
[K3f] [I][K3fCore] start to make a map view
[K3f] [E][K3fCore] unsupported image format.
[K3f] [I][API] Initialize Map
[K3f] [I][K3fCore] Engine{1693358200} resumed.
[K3f] [I][API] [MTLMapContainer(6f5119d0)] StartDrawing
[K3f] [I][K3fCore] Engine{1693358200} paused
[K3f] [I][API] [MTLMapContainer(6f512438)] StopRendering
[K3f] [I][K3fCore] DiskCache released.
[K3f] [I][K3fCore] DiskCache destroyed.
[K3f] [I][K3fCore] Engine{1693358200} stopped.
[K3f] [I][API] [MTLMapContainer(6f512438)] StopEngine
------> 여기서 authenticationFailed() 함수 호출 error code: 499 desc: cancelled 반환 및 인증재시도 후 바로 authenticationSucceeded() 함수 호출
[K3f] [I][K3fCore] >>> Start appEngine[RELEASE]{1693358200}
[K3f] [I][API] [MTLMapContainer(6f511758)] StartEngine
[K3f] [I][DiskCache] Buffer initialize elapsed time : 8, buffer size : 1040
[K3f] [I][K3fCore] DiskCache initialized
[K3f] [I][K3fCore] DownloadManager initialized
[K3f] [I][K3fCore] start to make a map view
[K3f] [I][API] Initialize Map
[K3f] [I][K3fCore] Engine{1693358200} resumed.
[K3f] [I][API] [MTLMapContainer(6f5117a0)] StartDrawing
[K3f] [E][K3fCore] unsupported image format.

이렇게 나오네요

@kingrui 인증처리 관련 이슈가 수정된 버전이 곧 배포될 예정입니다. 새 버전으로 다시 해보시면 될 것 같습니다.

1개의 좋아요

@vectordev
감사합니다.