Files
2026-06-10 11:00:10 -04:00

29 lines
741 B
TypeScript

import * as L from 'leaflet';
interface TooltipCircleOptions extends L.CircleOptions {
tooltipContent?: string;
}
export class TipCircle extends L.Circle {
constructor(latlng: L.LatLngExpression, options: TooltipCircleOptions) {
super(latlng, options);
if (options?.tooltipContent) {
this.bindTooltip(options.tooltipContent, {
permanent: false,
direction: 'top',
});
}
}
override setRadius(radius: number): this {
super.setRadius(radius);
if (this.getTooltip()) {
this.setTooltipContent(`New radius: ${radius}m`);
}
return this;
}
}
export const tipCircle = (latlng: L.LatLngExpression, options: TooltipCircleOptions) => {
return new TipCircle(latlng, options);
}