Skip to content

geovisto/geovisto

Repository files navigation

Geovisto

TypeScript mapping library for generic geospatial data visualization based on Leaflet.

This repository is a snapshot of Geoviosto core derived from the development repository: geovisto/geovisto-map.

Usage

import {
    Geovisto
} from 'geovisto';
import 'geovisto/dist/index.css';

// ,,,

// create instance of map with given props
const map = Geovisto.createMap({
    id: "my-geovisto-map",
    data: Geovisto.getMapDataManagerFactory().json([
        // list of data records (JSON structures)
        // ...
    ]),
    geoData: Geovisto.getGeoDataManager([
        Geovisto.getGeoDataFactory().geojson("world polygons", {
            // GeoJSON definition
            // ...
        }),
        // other geographic data
        // ...
    ]),
    globals?: { // props of Leaflet-based map
        zoom: number,
        mapCenter: {
            lat: number,
            lng: number
        },
        mapStructure: {
            maxZoom: number,
            maxBounds: [[number, number], [number, number]]
        }
    },
    templates?: Geovisto.createMapToolsManager([
        // instances of Geovisto tools (extensions)
        // these tools will be used as templates if new instance of tool needs to be created in the future
        // ...
    ]),
    tools?: Geovisto.createMapToolsManager([
        // instances of Geovisto tools (extensions) which will be directly used in the map
        // ...
    ])
});

// rendering of the map
map.draw(Geovisto.getMapConfigManagerFactory().default({
  // initial settings of the map can be overriden by the map config - JSON structure providing user settings 
  zoom?: number,
  mapCenter?: { lat: number, lng: number },
  mapStructure?: { maxZoom: number, maxBounds: [[ number, number ],[ number, number ]] },
  tools?: [
    // config of Geovisto tools (extensions) used in the map
  ]
}));

// the map can be re-rendered
map.redraw(Geovisto.getMapConfigManagerFactory().default({ /* ... config ... */}), this.getProps([ /* ... data ... */]));

// current state of the map can be exported in the JSON format (map config)
const config = map.export();

Demo

Installation

npm install --save geovisto

Extensions

This package serves as the core of Geovisto providing the API for Geovisto tools (extensions). Follow available Geovisto tools on Github.

License

MIT

About

TypeScript mapping library for generic geospatial data visualization based on Leaflet; core library of Geovisto.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages