@swim/maps
@swim/maps implements real-time geospatial map overlays, with support for Mapbox, Google, and Esri maps. These fully encapsulated widgets can be embedded into any web application framework, or directly into any web page. @swim/maps is a part of the broader @swim/toolkit framework.
Framework
The @swim/maps umbrella package depends on, and re-exports, the following component libraries:
- @swim/map (npm, doc) – graphics views for efficiently rendering animated geospatial map overlays.
- @swim/mapbox (npm, doc) – @swim/map overlays for Mapbox maps.
- @swim/leaflet (npm, doc) – @swim/map overlays for Leaflet maps.
- @swim/googlemap (npm, doc) – @swim/map overlays for Google maps.
- @swim/esrimap (npm, doc) – @swim/map overlays for ArcGIS maps.
@swim/maps builds on the @swim/core and @swim/ui frameworks; it has no additional required dependencies.
Installation
npm
For an npm-managed project, npm install @swim/maps
to make it a dependency.
TypeScript sources will be installed into node_modules/@swim/maps/main
.
Transpiled JavaScript and TypeScript definition files install into
node_modules/@swim/maps/lib/main
. And a pre-built UMD script, which
bundles all @swim/maps component libraries, can be found in
node_modules/@swim/maps/dist/main/swim-maps.js
.
Browser
Browser applications can load swim-maps.js
, along with its swim-core.js
and swim-ui.js
dependencies, from the SwimOS CDN.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-core.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-maps.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-core.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-maps.min.js"></script>
Alternatively, the swim-toolkit.js
script may be loaded, along with its
swim-system.js
dependency, from the SwimOS CDN. The swim-toolkit.js
script bundles @swim/maps together with all other
@swim/toolkit
frameworks.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-system.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-toolkit.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-system.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-toolkit.min.js"></script>
Usage
ES6/TypeScript
@swim/maps can be imported as an ES6 module from TypeScript and other
ES6-compatible environments. All component libraries are re-exported by
the umbrella @swim/maps
module.
import * as swim from "@swim/maps";
CommonJS
@swim/maps can also be used with CommonJS-compatible module systems.
All component libraries are re-exported by the umbrella @swim/maps
module.
var swim = require("@swim/maps");
Browser
When loaded by a web browser, the swim-maps.js
script adds all component
library exports to the global swim
namespace. The swim-maps.js
script
requires that swim-core.js
and swim-ui.js
have already been loaded.
The swim-toolkit.js
script also adds all @swim/maps component library
exports to the global swim
namespace, making it a drop-in replacement
for swim-ui.js
and swim-maps.js
when additional @swim/toolkit
frameworks are needed.