gistda-sphere-react

Marker

Display a point marker on the map

<Marker
  position={{ lon: 100.5018, lat: 13.7563 }}
  title="Bangkok"
  detail="Capital of Thailand"
  draggable
  onDrop={(marker, newPosition) => console.log('Moved to:', newPosition)}
/>

Props

PropTypeRequiredDefaultDescription
positionLocationYes-Marker coordinates ({ lon, lat })
refRef<MarkerRef>No-Ref for imperative control
iconIconNoDefault red pinCustom icon
titlestringNo-Text shown on hover tooltip
detailstringNo-Text shown in popup when clicked
popupPopupOptionsNo-Popup configuration (overrides detail)
visibleRangeRangeNoAll zoom levelsZoom range visibility
clickablebooleanNofalseShow pointer cursor on hover
draggablebooleanNofalseAllow dragging
zIndexnumberNo0Stacking order
rotatenumberNo0Rotation angle in degrees
onClick(marker: SphereMarker) => voidNo-Click handler
onDrag(marker: SphereMarker) => voidNo-Drag handler
onDrop(marker: SphereMarker, location: Location) => voidNo-Drop handler
onHover(marker: SphereMarker) => voidNo-Mouse enter handler
onLeave(marker: SphereMarker) => voidNo-Mouse leave handler

Custom icon

URL-based icon

<Marker
  position={{ lon: 100.5, lat: 13.75 }}
  icon={{
    url: '/my-icon.png',
    size: { width: 32, height: 32 },
    offset: { x: 16, y: 32 }
  }}
/>

HTML icon

<Marker
  position={{ lon: 100.5, lat: 13.75 }}
  icon={{
    html: '<div style="background: red; width: 20px; height: 20px; border-radius: 50%;"></div>',
    offset: { x: 10, y: 10 }
  }}
/>

On this page