Map 관련 API를 호출 할 수 있는 Class

Constructors

  • Parameters

    • dabeeoMapsManager: DabeeoMapsManager | DabeeoMaps2dManager

    Returns MapContext

Methods

  • 새로운 buildingGroup을 추가합니다.

    Parameters

    • buildingId: string
    • Optional floorId: string

    Returns Promise<void>

    Example

    await map.context.addBuilding(buildingId: string);
    
  • 입력받은 ID에 해당하는 층으로 지도를 변경합니다. 비동기 처리를 해주셔야합니다.

    Parameters

    • floorId: string

      변경할 층 ID

    Returns Promise<void>

    Example

    map.context.changeFloor('FL-1ked2ald');  // 층 ID가 'FL-1ked2ald'에 해당하는 층으로 변경합니다.
    
  • 현재 poi들의 언어 설정을 변경해줍니다.

    "ko" | "zh" | "en" | "ja"

    한국어, 중국어, 영어, 일본어 설정값은 ISO_639-1_codes 참조

    Parameters

    Returns void

    Example

    map.context.changeLanguage('en');
    
  • background Image를 on/off 할 수 있습니다.

    Parameters

    • visible: boolean

    Returns void

  • 현재 map을 제거합니다.

    Returns void

  • 지도를 png로 캡쳐합니다. floorAll (기본값: false) 옵션은 graphicLibrary: 2d 에서만 사용할 수 있습니다. useShowMapOption (기본값: false) 옵션을 통해 showMap 으로 그린 지도 그대로 저장할 수 있습니다. 캡처시 poiFontFixedSize 속성은 적용되지 않습니다.

    Parameters

    Returns Promise<number>

    원본 지도 이미지 크기 대비 캡처 이미지 크기 비율

    Example

    option = {
    filename?: string; (.png format으로 다운로드됨)
    floorAll?: boolean (graphicLibrary: 2d 에서만 사용 가능, true 경우 모든 층이 저장됨)
    useShowMapOption?: boolean (true 경우 showMap 으로 그린 모습으로 저장됨)
    }
    map.context.convertToImg(option);
  • 지도를 pdf로 캡쳐합니다. filesize가 크게 나옵니다. 약 300MB, png는 약 10~30 MB일때 ratio : number; // 원본 지도 해상도에 대한 캡처 화면 비율 0 ~ 5 사이의 실수. 단, 사용가능한 최대 ratio를 넘으면 최대 ratio로 적용됨

    Parameters

    Returns Promise<undefined | number>

    number | undefined 성공시: 적용된 ratio 비율 반환 재시도 필요시 : -1 반환 실패시 : undefined 반환

    Example

        const { jsPDF } = window.jspdf;
    const size = mapContainer.getBoundingClientRect();
    // 'l', // p: 세로(기본), l: 가로, 큰 숫자가 가로가 됨
    // 'px', // 단위: "pt", "mm", "cm", "in", "px" 등
    // [size.width, size.height], //
    let ratio = 5;
    let result;
    while (true) {
    const pdf = new jsPDF(
    'l',
    'px',
    [size.width, size.height], // 포맷 (페이지 크기).
    );
    result = await map.context.convertToPdf({ ratio, filename: 'capturePdf', pdf: pdf });
    if (result > 0) break; // 정상으로 출력되었으므로 종료
    if (result === undefined) break; // 이상동작이므로 종료
    if (ratio < 1) break; // while문이 계속 도는 것을 막기 위하여 종료
    ratio = ratio * 0.9;
    }
    console.log('result', result);

  • 사용자가 설정한 mapOption 을 반환합니다.

    Returns undefined | IMapOptions

    사용자가 설정한 mapOption

  • 해당 code와 code의 하위 code들에 해당하는 POI, object들을 지도상에서 숨깁니다.

    Parameters

    • code: string

      지도상에서 지울 코드

    Returns void

    Example

    map.context.hideByCode('A1');
    
  • 그려진 buildingGroup을 제거합니다.

    Parameters

    • buildingId: string

      제거할 실내지도 buildingId

    Returns void

    Example

    map.context.removeBuilding('MP-s16368lgvvj81483');
    
  • 해당 code와 code의 하위 code들에 해당하는 POI, object들을 지도상에 표시합니다.

    Parameters

    • code: string

      지도에 표시할 코드

    Returns void

    Example

    map.context.showByCode('A1');