<!--
{
  "availability" : [
    "MapKit JS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/MarkerAnnotationConstructorOptions/glyphImage",
  "metadataVersion" : "0.1.0",
  "role" : "Interface Property",
  "symbol" : {
    "kind" : "Interface Property",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "structp/mapkit.MarkerAnnotationConstructorOptions/glyphImage"
  },
  "title" : "glyphImage"
}
-->

# glyphImage

The image to display in the marker balloon.

```
glyphImage?:
    | ImageDelegate
    | ImageHashObject
    | ImageSource
    | Promise<ImageSource>
    | null;
```

## Discussion

The glyph image value can be an object literal containing absolute or relative URLs to standard, 2x, and 3x Retina display assets, an [`ImageDelegate`](/documentation/MapKitJS/ImageDelegate), an [`ImageSource`](/documentation/MapKitJS/ImageSource) such as an `HTMLCanvasElement` or `ImageBitmap`, or a `Promise` that resolves to an [`ImageSource`](/documentation/MapKitJS/ImageSource). The framework requires at least one image at 20 x 20 pixels.

MapKit JS uses the default glyph image of a pin if you set [`glyphImage`](/documentation/MapKitJS/MarkerAnnotationConstructorOptions/glyphImage) to `null` or `undefined`. If you specify both a [`glyphImage`](/documentation/MapKitJS/MarkerAnnotationConstructorOptions/glyphImage) and [`glyphText`](/documentation/MapKitJS/MarkerAnnotationConstructorOptions/glyphText), the framework ignores the glyph image and displays the glyph text.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)