diff --git a/coordo-ts/src/layers/popup.ts b/coordo-ts/src/layers/popup.ts index 2ac700a..592d37c 100644 --- a/coordo-ts/src/layers/popup.ts +++ b/coordo-ts/src/layers/popup.ts @@ -97,10 +97,10 @@ export function makeSetLayerPopup({ map }: { map: MapLibreMap }) { } const onTrigger = async (ev: MapLayerMouseEvent | MapLayerTouchEvent) => { - const geometry = ev.features?.[0]?.geometry; + const lngLat = ev.lngLat; const eventProps = ev.features?.[0]?.properties; const id = ev.features?.[0]?.id; - if (geometry && id && eventProps) { + if (lngLat && Number(id) >= 0 && eventProps) { /** @todo Remove "any" casting */ const popup = new Popup(popupConfig).setLngLat(ev.lngLat); @@ -124,6 +124,14 @@ export function makeSetLayerPopup({ map }: { map: MapLibreMap }) { } popup.addTo(map); + } else if (!lngLat) { + console.warn("Missing property lngLat on event : ", ev); + } else if (!ev.features) { + console.warn("Event features not found"); + } else if (!(Number(id) >= 0)) { + console.warn("event feature id is invalid: ", id); + } else if (!eventProps) { + console.warn("Event feature properties not found", eventProps); } };