mapray-navigation
v0.0.4
Published
Navigation UI controls for mapray-js viewers.
Downloads
38
Maintainers
Readme
mapray-navigation
Navigation UI for mapray-js.
- compass ring rotation
- center drag orbit
- zoom in / out
- home
- north reset
It works with plain HTML + JavaScript, raw mapray.Viewer, and @mapray/ui StandardUIViewer.
Demo
- Preview: https://takamunesuda.github.io/mapray-navigation/
Install
npm install mapray-navigation @mapray/mapray-jsor
pnpm add mapray-navigation @mapray/mapray-jsUsage
mapray.Viewer
import mapray from '@mapray/mapray-js';
import { createMaprayNavigation } from 'mapray-navigation';
const viewer = new mapray.Viewer(container, {
dem_provider: new mapray.CloudDemProvider(MAPRAY_ACCESS_TOKEN)
});
await viewer.init_promise;
createMaprayNavigation(viewer, {
position: 'top-right'
});StandardUIViewer
import maprayui from '@mapray/ui';
import { createMaprayNavigation } from 'mapray-navigation';
const stdViewer = new maprayui.StandardUIViewer(container, token);
createMaprayNavigation(stdViewer.viewer, {
tooltips: {
compassCenter: 'Drag to orbit',
compassRing: 'Drag to rotate',
home: 'Home',
zoomIn: 'Zoom in',
zoomOut: 'Zoom out'
}
});API
createMaprayNavigation(viewer, options);The returned instance has:
zoomIn()zoomOut()goHome()rotateLeft()rotateRight()resetNorth()setNavigationLocked(flag)getNavigationLocked()destroy()
Options
type MaprayNavigationPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
type MaprayNavigationOptions = {
enableCompass?: boolean;
enableZoomControls?: boolean;
position?: MaprayNavigationPosition;
tooltips?: Partial<MaprayNavigationTooltips>;
};type MaprayNavigationTooltips = {
compassCenter: string;
compassRing: string;
home: string;
zoomIn: string;
zoomOut: string;
};enableCompass: show or hide the compassenableZoomControls: show or hide the zoom/home buttonsposition: widget corner inside the viewer containertooltips: override tooltip text
Notes
- framework-agnostic at runtime
- browser-only
@mapray/mapray-jsis a peer dependency
References
- https://github.com/alberto-acevedo/cesium-navigation
- https://github.com/hongfaqiu/cesium-extends
- https://github.com/hongfaqiu/cesium-extends/tree/master/packages/compass
