gistda-sphere-react

Popup

Display an information popup on the map

<Popup
  position={{ lon: 100.5, lat: 13.75 }}
  title="Hello!"
  detail="This is a popup on the map."
  onClose={() => console.log('Popup closed')}
/>

Props

PropTypeRequiredDefaultDescription
positionLocationYes-Popup coordinates
refRef<PopupRef>No-Ref for imperative control
titlestringNo-Popup title
detailstringNo-Detail text (supports HTML)
loadDetail(element: HTMLElement) => voidNo-Dynamically load detail content
htmlstringNo-Custom HTML content (overrides detail)
loadHtml(element: HTMLElement) => voidNo-Dynamically load custom HTML
sizeSizeNoAutoPopup size ({ width, height })
closablebooleanNotrueShow close button
onClose(popup: SpherePopup) => voidNo-Close handler

Custom HTML popup

<Popup
  position={{ lon: 100.5, lat: 13.75 }}
  html='<div style="background: #eeeeff; padding: 10px;">Custom content</div>'
/>

Dynamic content loading

<Popup
  position={{ lon: 100.5, lat: 13.75 }}
  title="Loading..."
  loadDetail={(element) => {
    fetch('/api/data')
      .then(res => res.json())
      .then(data => { element.innerHTML = data.description; });
  }}
/>

On this page