DeckGL
Deckgl tooltip position fixed( 툴팁고정)
YD_Koo
2022. 9. 14. 12:27
기능 구현에 앞서서
- 본개발자는 DeckGl은 왜 !!!지원을 안해줄까??? 하는 의구심에 매우 피곤함.....
- 굳이 이걸 이렇게 개발 해야하나 싶음 ....
- 익숙 해진다 싶으면 왜 맨날 삽질일까 ㅜㅜ
1. Deckgl 툴팁 위치 고정
1.1 Deckgl에서 제공하는 이벤트를 최대한 사용해 보았다
...
import {WebMercatorViewport} from '@deck.gl/core';
let map = new Deck({
...
// 지도 위치 이동시 발생 이벤트
onViewStateChange: e => {
/************************************************************
*
* 본개발자의 tooltip은 dataset에 위경도(LongLat)값 저장되어 있음
* <div id="tooltip" data-lon="127.0952452665531" data-lat="37.20030546967153" style="display: block">...</div>
*
************************************************************/
const el = document.getElementById('tooltip');
// 핵심 이벤트 WebMercatorViewport
let pro2Px = new WebMercatorViewport(e.viewState)
// 투영된 좌표계의 위치를 px 값으로 반환
.project([Number(el.dataset.lon) , Number(el.dataset.lat)]);
el.style.left = pro2Px[0] + 'px';
el.style.top = pro2Px[1] + 'px';
}
})
1.2. Picxel에 오차 범위가 좀 있는듯 하지만 일단 88.99%는 도달한듯 싶다...
2. 결과
- 코드 적용 전
- 코드 적용 후
반응형