npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

react-openlayers

v10.5.1

Published

React + OpenLayers

Readme

React components for OpenLayers

A minimal React wrapper of OpenLayers 10 written in TypeScript

Image

Install

npm install react-openlayers 

Example

import { OSM } from 'ol/source';
import { Map, View, TileLayer } from 'react-openlayers';
import 'react-openlayers/dist/index.css'; // for css

export default function(props) {
  return ( 
    <Map controls={[]} interactions={[]}>
      <TileLayer source={new OSM()} />
      <View center={[-10997148, 4569099]} zoom={4}/>
    </Map>
  );
}

List of components

Base

| OpenLayers Object | React Component | Description | | -------------- | --------------- | ------------ | | ol/Map | <Map /> | It manages layers, controls, interactions, and the overall rendering of the map. | | ol/Overlay | <Overlay />| It add HTML elements to the map at specific coordinates. | | ol/View | <View /> | A View object represents a simple 2D view of the map | | ol/Feature | <Marker /> | ol/Feature customized as a map maker. |

Layers

| OpenLayers Object | React Component | Description | | -------------- | --------------- | ------------ | | ol/layer/Graticule | <GraticuleLayer /> | Displays a graticule (grid of latitude and longitude lines) on the map. | | ol/layer/Heatmap | <HeatmapLayer /> | Displays a heatmap based on vector data. | | ol/layer/Tile | <TileLayer /> | Displays tiled images, such as those from a tile server. | | ol/layer/Image | <ImageLayer /> | Displays full image, such as those from a pure wms server. | | ol/layer/Vector | <VectorLayer /> | Displays vector data, such as points, lines, and polygons. | | ol/layer/WebGLTile | <WebGLLayer /> | Displays tiled images using WebGL for rendering. |

Controls

| OpenLayers Object | React Component | Description | | -------------- | --------------- | ------------ | | ol/control/Attribution | <AttributionControl /> | Displays attribution information for the map layers | | ol/control/FullScreen | <FullScreenControl /> | Adds a button to toggle full-screen mode | | ol/control/MousePosition | <MousePositionControl /> | Displays the current mouse position in coordinates | | ol/control/OverviewMap | <OverviewMapControl /> | Displays an overview map of the main map | | ol/control/ScaleLine | <ScaleLineControl /> | Displays an overview map of the main map | | custom | <LayersControl /> | Layer switcher | | custom | <DrawControl /> | Shape Drawing shapes; point, rectangle, circle, ploygon | | custom | <SearchControl /> | Search an address and set a marker |

Interactions

| OpenLayers Object | React Component | Description | | -------------- | --------------- | ------------ | | ol/interaction/DragRotateAndZoom| <DragRotateAndZoomInteraction /> | Allows rotating and zooming the map by dragging. | | ol/interaction/Link | <LinkInteraction /> | Synchronizes the map view with the URL. | | ol/interaction/Pointer | <PointerInteraction /> | Base class for pointer interactions. | | ol/interaction/Select | <SelectInteraction /> | Allows selecting features on the map. | | ol/interaction/Translate | <TranslateInteraction /> | Allows translating (moving) features on the map. |

For developers

There are two group of sources and corresponding builds.

  1. React component library

    Code for component library is in ./src/lib directory. This is to be published to npm after build, $ npm run build:lib, which produces output to ./dist directory

  2. Storybook documentation.

    Code for Storybook is in ./src/stories. Storybook documents and demonstrates the usage of each component. It is deployed to Github Pages.

    When main branch is updated, a Github Action runs the build command, $ npm run build:storybook, which writes to ./storybook-static directory, and the Github Action deploys the direcory to the Github Pages.