diff --git a/public/app/plugins/panel/geomap/utils/tootltip.ts b/public/app/plugins/panel/geomap/utils/tootltip.ts index aa5600dbee3..1d5c601e823 100644 --- a/public/app/plugins/panel/geomap/utils/tootltip.ts +++ b/public/app/plugins/panel/geomap/utils/tootltip.ts @@ -99,7 +99,10 @@ export const pointerMoveListener = (evt: MapBrowserEvent, panel: Geo panel.hoverPayload.layers = layers.length ? layers : undefined; panel.props.eventBus.publish(panel.hoverEvent); - panel.setState({ ttip: { ...hoverPayload } }); + // This check optimizes Geomap panel re-render behavior (without it, Geomap renders on every mouse move event) + if (panel.state.ttip === undefined || panel.state.ttip?.layers !== hoverPayload.layers || hoverPayload.layers) { + panel.setState({ ttip: { ...hoverPayload } }); + } if (!layers.length) { // clear mouse events