///
///
///
///
///
import React from "react";
export interface MarkerProps {
map: kakao.maps.Map | kakao.maps.Roadview;
position: kakao.maps.LatLng | kakao.maps.Viewpoint;
/**
* marker 생성 후 marker 객체를 전달하는 callback
*/
onCreate?: (marker: kakao.maps.Marker) => void;
/**
* click 이벤트 핸들러
*/
onClick?: (marker: kakao.maps.Marker) => void;
/**
* mouseover 이벤트 핸들러
*/
onMouseOver?: (marker: kakao.maps.Marker) => void;
/**
* mouseout 이벤트 핸들러
*/
onMouseOut?: (marker: kakao.maps.Marker) => void;
/**
* dragstart 이벤트 핸들러
*/
onDragStart?: (marker: kakao.maps.Marker) => void;
/**
* dragend 이벤트 핸들러
*/
onDragEnd?: (marker: kakao.maps.Marker) => void;
/**
* 마커의 이미지
*/
image?: {
/**
* 표시 이미지 src
*/
src: string;
/**
* 표시 이미지 크기
*/
size: {
width: number;
height: number;
};
options?: {
/**
* 마커 이미지의 alt 속성값을 정의한다.
*/
alt?: string;
/**
* 마커의 클릭 또는 마우스오버 가능한 영역을 표현하는 좌표값
*/
coords?: string;
/**
* 마커의 좌표에 일치시킬 이미지 안의 좌표 (기본값: 이미지의 가운데 아래)
*/
offset?: {
x: number;
y: number;
};
/**
* 마커의 클릭 또는 마우스오버 가능한 영역의 모양
*/
shape?: "default" | "rect" | "circle" | "poly";
/**
* 스프라이트 이미지 중 사용할 영역의 좌상단 좌표
*/
spriteOrigin?: {
x: number;
y: number;
};
/**
* 스프라이트 이미지의 전체 크기
*/
spriteSize?: {
width: number;
height: number;
};
};
};
/**
* 마커 엘리먼트의 타이틀 속성 값 (툴팁)
*/
title?: string;
/**
* 드래그 가능한 마커, 로드뷰에 올릴 경우에는 유효하지 않다.
*/
draggable?: boolean;
/**
* 클릭 가능한 마커
*/
clickable?: boolean;
/**
* 마커 엘리먼트의 z-index 속성 값
*/
zIndex?: number;
/**
* 마커 투명도 (0-1)
*/
opacity?: number;
/**
* 로드뷰에 올라있는 마커의 높이 값(m 단위)
*/
altitude?: number;
/**
* 로드뷰 상에서 마커의 가시반경(m 단위), 두 지점 사이의 거리가 지정한 값보다 멀어지면 마커는 로드뷰에서 보이지 않게 된다.
*/
range?: number;
/**
* InfoWindow 옵션
*/
infoWindowOptions?: {
/**
* 인포윈도우를 열 때 지도가 자동으로 패닝하지 않을지의 여부 (기본값: false)
*/
disableAutoPan?: boolean;
/**
* 삭제 가능한 인포윈도우
*/
removable?: boolean;
/**
* 인포윈도우 엘리먼트의 z-index 속성 값
*/
zIndex?: number;
/**
* 로드뷰에 올라있는 인포윈도우의 높이 값(m 단위)
*/
altitude?: number;
/**
* 로드뷰 상에서 인포윈도우의 가시반경(m 단위), 두 지점 사이의 거리가 지정한 값보다 멀어지면 인포윈도우는 보이지 않게 된다
*/
range?: number;
};
}
export declare const Marker: React.ForwardRefExoticComponent>;