tg-map-vue3
Version:
封装 百度地图, Google地图, Here地图(未完成), Maptalks 的Vue3组件库
155 lines (154 loc) • 7.09 kB
TypeScript
import { LatLng, type MarkerEventMap, type MarkerLabel, type MarkerOverlay, type UnionIcon } from 'tg-map-core';
import { type PropType } from 'vue';
import { type EventEmits } from '../../utils/vue-utils';
import TgMarkerClusterer from '../extra/TgMarkerClusterer.vue';
import type TgInfoBox from './TgInfoBox.vue';
import type TgInfoWindow from './TgInfoWindow.vue';
import type TgLabel from './TgLabel.vue';
type TgMarkerEmits = {
'update:position': LatLng;
};
export type TgMarkerEventEmits = EventEmits<MarkerEventMap & TgMarkerEmits>;
export declare const tgMarkerProps: {
position: {
type: PropType<LatLng>;
required: true;
};
title: {
type: PropType<string>;
};
label: {
type: PropType<MarkerLabel>;
};
icon: {
type: PropType<UnionIcon>;
};
clickable: {
type: PropType<boolean>;
};
draggable: {
type: PropType<boolean>;
};
crossOnDrag: {
type: PropType<boolean>;
};
cursor: {
type: PropType<string>;
};
zIndex: {
type: PropType<number>;
};
visible: {
type: PropType<boolean>;
};
normalizePositionForBaidu: {
type: PropType<boolean>;
};
/**
* 是否自动添加到TgMarkerClusterer中去
* @default true
*/
autoAddToClusterer: {
type: PropType<boolean>;
default: boolean;
};
'onUpdate:position': import("vue").Prop<import("tg-map-core").EventCallback<LatLng>>;
};
declare const TgMarker: import("vue").DefineComponent<{
position: LatLng;
autoAddToClusterer: boolean;
label?: MarkerLabel | undefined;
title?: string | undefined;
draggable?: boolean | undefined;
visible?: boolean | undefined;
zIndex?: number | undefined;
clickable?: boolean | undefined;
normalizePositionForBaidu?: boolean | undefined;
icon?: UnionIcon | undefined;
crossOnDrag?: boolean | undefined;
cursor?: string | undefined;
'onUpdate:position'?: (import("tg-map-core").EventCallback<LatLng> & ((event: LatLng) => any)) | undefined;
onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
}, {
attrs: import("vue").ComputedRef<{
binds: Record<string, unknown>;
listeners: Record<string, unknown>;
listenerProps: Record<string, unknown>;
}>;
marker: MarkerOverlay;
labelOverlay: TgLabel | undefined;
info: TgInfo | undefined;
emittedPosition: LatLng | undefined;
autoAddToClustererWhenCreate: boolean;
}, {}, {}, {
recreate(): void;
$clusterer(): TgMarkerClusterer | undefined;
onAddLabel(label: TgLabel): void;
onRemoveLabel(_label: TgLabel): void;
onAddInfo(info: TgInfo): void;
onRemoveInfo(info: TgInfo): void;
onInfoShowChanged(info: TgInfo, isShow: boolean): void;
}, import("vue").DefineComponent<{}, {}, {}, {}, {
recreate(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits<MarkerEventMap & TgMarkerEmits>, string, import("vue").PublicProps, Readonly<{
position: LatLng;
autoAddToClusterer: boolean;
label?: MarkerLabel | undefined;
title?: string | undefined;
draggable?: boolean | undefined;
visible?: boolean | undefined;
zIndex?: number | undefined;
clickable?: boolean | undefined;
normalizePositionForBaidu?: boolean | undefined;
icon?: UnionIcon | undefined;
crossOnDrag?: boolean | undefined;
cursor?: string | undefined;
'onUpdate:position'?: (import("tg-map-core").EventCallback<LatLng> & ((event: LatLng) => any)) | undefined;
onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
}> & Readonly<{
onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
"onUpdate:position"?: ((event: LatLng) => any) | undefined;
}>, {
autoAddToClusterer: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
type TgMarker = InstanceType<typeof TgMarker>;
export default TgMarker;
export type TgInfo = TgInfoWindow | TgInfoBox;
export type TgMarkerPublicInstance = {
marker: MarkerOverlay;
onAddInfo(info: TgInfo): void;
onRemoveInfo(info: TgInfo): void;
onInfoShowChanged(info: TgInfo, isShow: boolean): void;
onAddLabel(label: TgLabel): void;
onRemoveLabel(label: TgLabel): void;
};