<!--
{
  "availability" : [
    "MapKit JS: 5.79.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/LookAround",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "cl/mapkit.LookAround"
  },
  "title" : "LookAround"
}
-->

# LookAround

A view that allows someone to see a street level view of a place.

```
class LookAround extends AbstractLookAround
```

## Discussion

> Note:
> The full bundle of MapKit JS doesn’t implement this class.

Use a Look Around view to create street-level imagery for a specific geographic location on the map. You can, optionally, allow someone to navigate inside this view so they can explore the place at street level or zoom the view for a larger-screen experience.

> Note: Not all places support Look Around.

The following example contains the two elements needed to display a Look Around View on a web page:

![A screenshot showing the Look Around view framing Cherry Hill Fountain, with a point-of-interest Marker.](images/com.apple.mapkitjs/LookAround-cl-01@2x.png)

The HTML code below implements a web page that renders a `container` which has a label that provides a description of the place the Look Around view displays.

```html
<script
  src="https://cdn.apple-mapkit.com/mk/x/mapkit.core.js"
  crossorigin async
  data-callback="initMapKit"
  data-token="YOUR TOKEN HERE"
  data-libraries="look-around,services"></script>
<style>
#container { width: 735px; height: 552px }
</style>

<div id="container"></div>
```

The JavaScript listing below implements a MapKitJS Look Around object that the web page displays inside the `<div id="container">` element of the page. The Look Around view shows a navigable view of Cherry Hill Fountain in Central Park in New York City that Look Around renders using a PlaceID. For more information on obtaining a PlaceID for a specific location. For more information on Place IDs, see [Identifying unique locations with Place IDs](https://developer.apple.com/maps/place-id-lookup/).

```javascript
async function initializeMapKitJS() {
  if (!window.mapkit || window.mapkit.loadedLibraries.length === 0) {
    await new Promise(res => window.initMapKit = res)
    delete window.initMapKit
  }
}

(async () => {
  await initializeMapKitJS();
  // Look Around view code

  const placeLookup = new mapkit.PlaceLookup();
  const place = await new Promise(
      resolve => placeLookup.getPlace(
          // The PlaceID that represents Cherry Hill Fountain, Central Park, New York, NY
          "IEA18943388D2216C",
          (error, result) => resolve(result)
      )
  );

  // Create an interactive Look Around view.
  const lookAround = new mapkit.LookAround(
      document.getElementById("container"),
      place,
      {
          // Allow users to expand the view.
          showsDialogControl: true
      }
  );

})()
```

## Handling Look Around loading states

Look Around view dispatches the following events:

- `load`: A DOM `Event`. The Look Around view loaded.
- `error`: A [`LookAroundErrorEvent`](/documentation/MapKitJS/LookAroundErrorEvent). The Look Around view encountered an error, for example, in an unsupported browser, or a location with no Look Around imagery.
- `readystatechange`: A DOM `Event`. The ready state changed.
- `open-dialog`:  A DOM `Event`. The Look Around view is about to expand.
- `leave-dialog`:  A DOM `Event`. The Look Around view is about to contract.
- `close`:  A DOM `Event`. Someone has interacted with the close control.

## Topics

### Creating a Look Around view

[`new LookAround(parent, location, options)`](/documentation/MapKitJS/LookAround/LookAroundConstructor)

Creates a Look Around object you embed on a webpage and initializes it with the constructor options you choose.

### Controlling the interactions with a Look Around view

[`isNavigationEnabled`](/documentation/MapKitJS/AbstractLookAround/isNavigationEnabled)

A Boolean value that indicates whether someone can navigate inside the Look Around view.

[`isScrollEnabled`](/documentation/MapKitJS/AbstractLookAround/isScrollEnabled)

A Boolean value that indicates whether someone can scroll the Look Around view.

[`isZoomEnabled`](/documentation/MapKitJS/AbstractLookAround/isZoomEnabled)

A Boolean value that indicates whether someone can zoom the Look Around view.

### Controlling additional information the Look Around view displays

[`showsPointsOfInterest`](/documentation/MapKitJS/AbstractLookAround/showsPointsOfInterest)

A Boolean value that indicates whether the Look Around view shows points of interest (POIs).

[`showsRoadLabels`](/documentation/MapKitJS/AbstractLookAround/showsRoadLabels)

A Boolean value that indicates whether the Look Around view shows road labels.

### Controlling the Look Around dialog

[`openDialog`](/documentation/MapKitJS/AbstractLookAround/openDialog)

Opens the Look Around view in a dialog.

### Controlling the display of window controls

[`showsCloseControl`](/documentation/MapKitJS/LookAround/showsCloseControl)

A Boolean value that indicates whether the Look Around view displays a close control.

[`showsDialogControl`](/documentation/MapKitJS/LookAround/showsDialogControl)

A Boolean value that indicates whether the Look Around view displays shows a control that allow someone to expand the Look Around view.

### Getting information about the Look Around object and its state

[`element`](/documentation/MapKitJS/AbstractLookAround/element)

A property that represents the Look Around view’s containing Document Object Model (DOM) element.

[`scene`](/documentation/MapKitJS/AbstractLookAround/scene)

The Look Around scene the framework is displaying.

[`padding`](/documentation/MapKitJS/AbstractLookAround/padding)

The padding options for the Look Around view.

[`readyState`](/documentation/MapKitJS/AbstractLookAround/readyState)

A value that represents the loading state of the Look Around object.

[`LookAroundReadyState`](/documentation/MapKitJS/LookAroundReadyState)

Values that indicate the state of the Look Around object in the browser.

### Closing and releasing a Look Around view

[`destroy()`](/documentation/MapKitJS/AbstractLookAround/destroy)

Releases the Look Around view and its resources from memory.

### Events and event properties

[`LookAroundErrorEvent`](/documentation/MapKitJS/LookAroundErrorEvent)

A custom event object that contains information about the error when starting a Look Around view.

[`LookAroundErrorType`](/documentation/MapKitJS/LookAroundErrorType)

Values that describes errors than can occur when starting a Look Around view.

### Static properties

[`ReadyStates`](/documentation/MapKitJS/LookAround/ReadyStates)

A static property that allows you to access the Look Around ready state.

## Relationships

### Inherits From

[`AbstractLookAround`](/documentation/MapKitJS/AbstractLookAround)

---

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)