milestones
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user