Skip to content
/ core Public
forked from reearth/core

A library that abstracts a map engine as one common API.

Notifications You must be signed in to change notification settings

catpotd/core

 
 

Repository files navigation

@reearth/core

  • Visualizer: Map
  • Map: Engine + mantle

Architecture

Context

We have some type of the context to expose the interface for the map API. The map API is the abstracted map engine API. For example, we are using Cesium as the map engine, but we have a plan to support another map engine in the future. To do this, we define the interface as the map API. The map API is abstracted as MapRef internally. The MapRef has two type of API for now. First one is EngineRef that is API to access to the map engine's API. And second one is LayersRef that is API to access to the abstracted layer system. This manages the data to display for the map engine.

We have the context as the follows.

  • FeatureContext ... It works as the interface for exposing the map API to the Feature components and the Layers component.
  • WidgetContext ... It works as the interface for exposing the map API to the Widget components.
  • VisualizerContext ... It works as the interface for exposing the map API to Visualizer.

By defining these context as the interface, we can understand which API for the map API is used in each layer. And if there are some features of the map API depends on the layer, we can absorb the feature in the context.

About

A library that abstracts a map engine as one common API.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.5%
  • GLSL 2.4%
  • HTML 0.1%