Jump to content

minhookim

Members
  • 게시글

    1
  • 첫 방문

  • 최근 방문

Everything posted by minhookim

  1. 안녕하세요. Maps JavaScript API v3 사용 중 GL 서브모듈 관련 문의드립니다. ■ 현상 gl: true (벡터 지도)로 지도를 생성하면, 최초 로드 시 tilesloaded 이벤트가 1회 발생한 뒤 fitBounds 등으로 지도를 이동해도 tilesloaded 이벤트가 더 이상 발생하지 않습니다. 동일한 코드에서 gl: false (래스터 지도)로만 바꾸면 이동할 때마다 정상적으로 발생합니다. ■ 재현 환경 - Maps JS API v3 (https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=...&submodules=gl) - Chrome (헤드리스 및 일반 브라우저 모두 동일) - 순수 JavaScript (프레임워크 미사용) ■ 재현 코드 첨부한 HTML 파일 하나로 재현됩니다. 같은 페이지에 gl:true 지도와 gl:false 지도를 나란히 만들고, 동일한 fitBounds 를 호출한 뒤 이벤트 발생을 기록합니다. ■ 실제 관측 결과 422ms [gl:true ] tilesloaded ← 최초 로드 시 1회 434ms [gl:true ] idle 212ms [gl:false] tilesloaded 5025ms fitBounds #1 (부산) 5162ms [gl:false] tilesloaded ← 발생 5916ms [gl:true ] idle ← tilesloaded 없음 9031ms fitBounds #2 (제주) 9260ms [gl:false] tilesloaded ← 발생 15816ms [gl:true ] idle ← tilesloaded 없음 gl:false 는 이동할 때마다 발생하지만, gl:true 는 최초 1회 이후 발생하지 않습니다. ■ 아래 가능성은 확인하여 배제했습니다 1) 리스너 등록 시점 문제 아님 - 지도 생성 직후 addListener 로 등록하여 계속 유지했습니다 (addListenerOnce 아님). - 최초 발화 이후 리스너를 추가로 하나 더 등록해도 수신되지 않았습니다. 2) 타일 캐시로 인해 로드가 생략된 것 아님 - 이동 구간마다 타일 요청이 실제로 발생했습니다 (한 구간 117건, 245건, 134건 관측). - 미방문 지역(서울→부산→제주)으로 이동해도 동일합니다. 3) 짧은 이동이라 변화가 없었던 것 아님 - 원거리 이동과 근거리 이동 모두 동일하게 발생하지 않았습니다. ■ 문의 사항 1. GL 서브모듈에서 지도 이동 후 tilesloaded 가 발생하지 않는 것이 정상 동작인지요? 공식 문서에는 "지도의 모든 타일이 로드되면 이벤트가 발생합니다"로만 안내되어 있고, GL 서브모듈 가이드의 제약 사항에도 이벤트 관련 언급이 없어 문의드립니다. 2. 정상 동작이라면, GL 모드에서 "현재 화면의 타일 렌더링이 완료된 시점"을 알 수 있는 대체 이벤트나 API(예: 렌더링 완료 여부를 조회하는 메서드)가 있는지요? 3. 버그라면 수정 계획이 있는지 알고 싶습니다. ■ 활용 배경 서버에서 헤드리스 브라우저로 지도를 렌더링해 이미지를 생성하고 있습니다. 타일이 모두 그려진 시점을 알아야 캡처할 수 있는데, 현재는 해당 시점을 알 수 없어 타일 네트워크 요청을 직접 세는 방식으로 우회하고 있습니다. 감사합니다. naver-gl-tilesloaded-repro.html
×
×
  • Create New...