Coder Social home page Coder Social logo

cesium-navigation's Introduction

cesium-navigation

This is a Cesium plugin that adds to the Cesium map a user friendly compass, navigator (zoom in/out), and distance scale graphical user interface.

Why did you build it?

First of all the Cesiumjs sdk does not include a compass, navigator (zoom in/out) nor distance scale. You can use the mouse to navigate on the map but this navigation plugin offers more navigation control and capabilities to the user. Some of the capabilities are: reset the compass to point to north, reset the orbit, and reset the view to a default bound.

How did you build it?

This plugin is based on the excellent compass, navigator (zoom in/out) and distance scale from the terriajs open source library (https://github.com/TerriaJS). The navigation UI from terriajs can not be used out of the box in Cesium because Cesium uses AMD modules with RequireJS, and the terriajs uses commonjs and Browserify, so you can't just copy the source files into Cesium and build. My work consisted on adapting the code to work within Cesium as a plugin as follows:

  • Extracted the minimum required modules from terriajs.
  • Converted all the modules from Browserify to requirejs.
  • Using nodejs and the requirejs optimizer as well as almond the whole plugin is built and bundled in a single file even the CSS style
  • This plugin can be used as a standalone script or via an AMD loader (tested with requirejs). Even in the special case where you use AMD but not for Cesium the plugin can be easily used.

How to use it?

When to use which edition?

There are two editions, a standalone edition and an AMD compatible edition. If you want to load the mixin via requireJS then use the AMD compatible edition. Otherwise use the standalone edition which includes almond to resolve dependencies. Below some examples are given for better understanding.

  • If you are loading Cesium without requirejs (i.e. you have a global variable Cesium) then use the standalone edition. This edition is also suitable if you use requirejs but not for this mixin.
<head>
  <!-- other stuff -->

  <script src="path/to/Cesium.js"></script>
  <!-- IMPORTANT: because the cesium navigation viewer mixin depends on Cesium be sure to load it after Cesium -->
  <script src="path/to/standalone/viewerCesiumNavigationMixin.js"></script>

  <!-- other stuff ... -->
</head>

and then extend a viewer:

    // create a viewer assuming there is a DIV element with id 'cesiumContainer'
	var cesiumViewer = new Cesium.Viewer('cesiumContainer');

	// extend our view by the cesium navigaton mixin
	cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, {});

or a widget:

    // create a widget assuming there is a DIV element with id 'cesiumContainer'
    var cesiumWidget = new Cesium.CesiumWidget('cesiumContainer');

	// extend our view by the cesium navigaton mixin
	Cesium.viewerCesiumNavigationMixin.mixinWidget(cesiumWidget, {});

You can access the newly created instance via

    // if using a viewer
	var cesiumNavigation = cesiumViewer.cesiumNavigation;

	// if using a widget
	var cesiumNavigation = cesiumWidget.cesiumNavigation;

Another example if your are using requirejs except for Cesium:

<head>
  <!-- other stuff... -->

  <script src="path/to/Cesium.js"></script>
  <!-- IMPORTANT: loading requirejs after Cesium ensures that when requiring -->
  <!-- viewerCesiumNavigationMixin the global variable Cesium is already set -->
  <script type="text/javascript" src="path/to/require.js"></script>
  <script type="text/javascript">
    require.config({
      // your config...
    });
  </script>

  <!-- other stuff... -->
</head>

and code

  // IMPORTANT: be sure that Cesium.js has already been loaded, e.g. by loading requirejs AFTER Cesium
  require(['path/to/amd/viewerCesiumNavigationMixin'], function(viewerCesiumNavigationMixin) {
    // like above code but now one can directly access
    // viewerCesiumNavigationMixin
    // instead of
    // Cesium.viewerCesiumNavigationMixin
  }
  • If you are using requirejs for your entire project, including Cesium, then you have to use the AMD compatible edition.
<head>
  <!-- other stuff... -->

  <script type="text/javascript" src="path/to/require.js"></script>
  <script type="text/javascript">
    require.config({
        // your config...
		paths: {
		    // your paths...
		    // IMPORTANT: Cesium must point to either
			'Cesium': 'path/to/cesium/Source'
		    //  or to
			'Cesium': 'path/to/cesium/Source/Cesium.js'
		    //  or to
			'Cesium': 'path/to/cesium/Build/Cesium'
		    //  or to
			'Cesium': 'path/to/cesium/Build/Cesium/Cesium.js'
		    //  because viewerCesiumNavigationMixin uses 'Cesium' for dependencies
		}
    });
  </script>

  <!-- other stuff... -->
</head>

and the code

require([
  'Cesium/Cesium', // if Cesium points to Cesium directory
  'Cesium', // if Cesium points to Cesium.js file
  'path/to/amd/viewerCesiumNavigationMixin'
], function(
  Cesium,
  viewerCesiumNavigationMixin) {

  // like above but now you cannot access Cesium.viewerCesiumNavigationMixin
  // but use just viewerCesiumNavigationMixin
});

or if Cesium points to the Cesium directory

require([
  'Cesium/Core/Viewer',
  'path/to/amd/viewerCesiumNavigationMixin'
], function(
  CesiumViewer,
  viewerCesiumNavigationMixin) {

  // like above but now you cannot access Cesium.viewerCesiumNavigationMixin
  // but use just viewerCesiumNavigationMixin
});

Available options of the plugin

defaultResetView --> option used to set a default view when resetting the map view with the reset navigation 
control. Values accepted are of type Cesium.Cartographic and Cesium.Rectangle.

enableCompass --> option used to enable or disable the compass. Values accepted are true for enabling and false to disable. The default is true. The compass will not be added to the map if setting the option to false.

enableZoomControls --> option used to enable or disable the zoom controls. Values accepted are true for enabling and false to disable. The default is true. The zoom controls  will not be added to the map if setting the option to false.

enableDistanceLegend --> option used to enable or disable the distance legend. Values accepted are true for enabling and false to disable. The default is true. The distance legend will not be added to the map if setting the option to false.

enableCompassOuterRing --> option used to enable or disable the Compass Outer Ring. Values accepted are true for enabling and false to disable. The default is true. The ring will be visible but inactive if setting the option to false.

More options will be set in future releases of the plugin.

Example of using the options when loading Cesium without requirejs:

var options = {};
options.defaultResetView = Cesium.Rectangle.fromDegrees(71, 3, 90, 14);
// Only the compass will show on the map
options.enableCompass = true;
options.enableZoomControls = false;
options.enableDistanceLegend = false;
options.enableCompassOuterRing= true;
cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, options);

Others

  • To destroy the navigation object and release the resources later on use the following
  viewer.cesiumNavigation.destroy();
  • To lock the compass and navigation controls use the following. Use true to lock mode, false for unlocked mode. The default is false.
  viewer.cesiumNavigation.setNavigationLocked(true/false);
  • if there are still open questions please checkout the examples

How to build it?

  • run npm install
  • run node build.js
  • The build process also copies the files to the Example folder in order to always keep them sync with your build

Developers guide

For developing/debugging you should have a look at the "Source example". That example directly uses the source files and therefore it allows you to immediatley (only a page refresh is needed) see your changes without rebuilding anything. Furthermore due to working with the sources you can easily debug the project (e.g. via the developer console of the browser or via a debugger of your IDE like Webstorm)

Is there a demo using the plugin?

This is the demo:

(http://larcius.github.io/cesium-navigation/)

  • The compass, navigator, and distance scale will appear on the right side of te map.
  • This plugin was successfully tested on Cesium version 1.27. It works great with Cesium in 3D mode. Recently Larcius (https://github.com/Larcius) made a lot of improvements and fixed some issues in Columbus and 2D modes.

What about the license?

  • The plugin is 100% based on open source libraries. The same license that applies to Cesiumjs and terriajs applies also to this plugin. Feel free to use it, modify it, and improve it.

cesium-navigation's People

Contributors

alberto-acevedo avatar eric79 avatar kristopherwagner avatar larcius avatar p-kimberley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cesium-navigation's Issues

distance legend wrong

distance legend shows wrong values.
for example, when in columbus mode with a top down view rotation yields a change in the distance legend (with huge differences).
on the other hand in 2d mode there is no legend at all.

does it even make sense to offer this feature because when in columbus or 3d mode the distance varies a lot depending on the depth of the view.
the only reasonable solution would be to meassure the distance exactly at the place where the legend appears or to only show it when in top down view with small scale (because in large scales even in 2d the distances are varying a lot).

Unabe

Hi!
As soon i put this code in my CesiumCiewer:
var cesiumViewer = new Cesium.Viewer('cesiumContainer');
cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, {});

Then I was unable to see any modell and the whole configuration of my .js container doesn't apply..
The navegations tool works fine but why everything else is missing? for example I am no able anymore to control the visibility of the Cesium bottoms, for example these doesn't work:

var cesiumViewer = new Cesium.Viewer('cesiumContainer');
cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, {});
geocoder: false,
navigationHelpButton: true,
sceneModePicker: true,
infoBox : false,
selectionIndicator : true,
baseLayerPicker: true,
shadows: true,
vrButton : false,
homeButton: true,
timeline: false,
animation: false,
});

Thanks for your help!
Abel

Coordinate control

Hi,
I have seen that there is a coordinate control in terria.io library. is there any way to add similar controls to this library?

Zoom buttons not working correctly in 2D and Columbus view

When in 2D or Columbus View zooming via the buttons does not work as expected.
Zooming in results in converging to a location and zoom level but on the one hand not the location where the view was centered and on the other hand sometimes it zooms out. So the final zoom level is not near to the ground.
In 2D view zooming out jumps between two locations while the zoom level remains.
In Columbus view zooming out jumps between several (maybe non-repeating) locations.

ZoomScale should be setable

If there is a terrain Model loaded, then the scale for zoom in and zoomout is too big. So if i click on zoomIn it will send me directly to the ground of the terrain and it is at this time not really movable.

So it would be nice to set the zoom scale - i think it use 2.0 / 3.0 - or to calculate it depending on the used elevation model.

Problem with installation

Hi there!
I hope you qre doing greate guys! I am trying to install the Navegation plugin into my cesium 1.29 and I am getting the following error:
25951 error Windows_NT 10.0.10586
25952 error argv "C:\nodejs\node.exe" "C:\nodejs\node_modules\npm\bin\npm-cli.js" "install"
25953 error node v7.4.0
25954 error npm v4.0.5
25955 error code ELIFECYCLE
25956 error [email protected] postinstall: bower install
25956 error Exit status 1
25957 error Failed at the [email protected] postinstall script 'bower install'.
25957 error Make sure you have the latest version of node.js and npm installed.
25957 error If you do, this is most likely a problem with the cesium-navigation package,
25957 error not with npm itself.
25957 error Tell the author that this fails on your system:
25957 error bower install
25957 error You can get information on how to open an issue for this project with:
25957 error npm bugs cesium-navigation
25957 error Or if that isn't available, you can get their info via:
25957 error npm owner ls cesium-navigation
25957 error There is likely additional logging output above.
25958 verbose exit [ 1, true ]

Does anyone knows what¨s gong on here?
Regards!
Abel

cesium1.69

Hello, your js does not seem to support cesium1.69 version

npm package

Any chance, the plugin will be uploaded as npm package?

Angular 8+ version?

Is there a version for Angular 8+ or a way (walkthrough) how to integrate the existing library?

node Building.js encounter some errors

I have installed npm ,nodejs and configured them,but when I use the command "node building.js", I get the response below:
fs.js:839
return binding.lstat(pathModule._makeLong(path));
Error:ENOENT:no such file or directory,lstat'C:\Users|Administrator\Source'
at Error(native)
at Object.fs.lstatSync(fs.js:839:18)
................................
.............................
at Module.load(module.js:343:32)
at Function.Module._load(module.js:300:12)
at Function.Module.runMain(module.js:441:10)

Add option to control hiding

Would like to see an option such as screenSizeHide that takes a string that is a pixel value, em, rem, etc. This would set the screen size at which the widget will hide. You could also set it to false or an empty string and have it always display at any screen size

“npm install” and "node build.js" error

Hi,alberto!
I'm a beginner.When useing the cesium-navigation,I have the following problems.Can you help me with it ,thanks.
1.When run the "npm install",it show following questions and how to upgrade the version.
High Code Injection
Package js-yaml
Patched in >=3.13.1
Dependency of node-minify [dev]
Path node-minify > crass > svgo > js-yaml
More info https://npmjs.com/advisories/813

2.When run the "node build.js",it show following questions and how to solve .

E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development>node build.js
Tracing dependencies for: almond
TypeError: Cannot read property 'contents' of undefined
In module tree:
viewerCesiumNavigationMixin
require-less/less

Error: TypeError: Cannot read property 'contents' of undefined
In module tree:
viewerCesiumNavigationMixin
require-less/less

at Object.parse (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\less\dist\less.cjs.js:6735:21)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:28332:19
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3059:39
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2999:25
at Function.prim.nextTick (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:28083:9)
at Object.errback (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2998:26)
at Object.callback (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2984:23)
at Object.then (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3038:23)
at build (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:28289:12)
at runBuild (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:30302:17)
at Object.execCb (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1946:33)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1133:51)
at Module.<anonymous> (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1389:34)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1439:21
at each (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:309:31)
at Module.emit (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1438:17)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1188:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Module.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1038:26)
at Module.<anonymous> (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1264:30)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2697:17
at Object.execCb (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1946:33)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1133:51)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Module.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1038:26)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1710:36
at processTicksAndRejections (internal/process/task_queues.js:79:11) {

originalError: TypeError: Cannot read property 'contents' of undefined
at Object.parse (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\less\dist\less.cjs.js:6735:21)
at Object.lessAPI.load (eval at (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27737:33), :103:12)
at Module. (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1345:28)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23
at on (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:767:21)
at Module.callPlugin (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1205:17)
at Module.moduleProto.callPlugin (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27825:42)
at Module.fetch (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1074:46)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1106:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Module. (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1249:43)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1439:21
at each (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:309:31)
at Module.emit (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1438:17)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1188:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Module.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1038:26)
at Module.moduleProto.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27807:36)
at callGetModule (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1453:63)
at Object.completeLoad (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1840:21)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27756:41
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3041:37
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2989:25
at Function.prim.nextTick (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:28083:9)
at Object.callback (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2988:26)
at Object.then (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3038:23)
at Object.context.load (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27735:28)
at Module.load (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1084:29)
at Module.fetch (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1074:66)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1106:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Object.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1807:39)
at Object.context.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27620:38)
at Module.callPlugin (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1348:25)
at Module.moduleProto.callPlugin (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27825:42)
at Module.fetch (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1074:46)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1106:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Object.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1807:39)
at Object.context.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27620:38)
at Module. (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1411:33)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23
at each (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:309:31)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1363:17)
at Module.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1038:26)
at Module.moduleProto.init (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27807:36)
at callGetModule (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1453:63)
at Object.completeLoad (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1840:21)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27756:41
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3041:37
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2989:25
at Function.prim.nextTick (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:28083:9)
at Object.callback (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:2988:26)
at Object.then (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:3038:23)
at Object.context.load (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27735:28)
at Module.load (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1084:29)
at Module.fetch (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1074:66)
at Module.check (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1106:30)
at Module.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1426:22)
at Object.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1807:39)
at Object.context.enable (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:27620:38)
at Module. (E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:1411:33)
at E:\开发\WEBGIS\cesium-navigation\cesium-navigation-development\node_modules\requirejs\bin\r.js:384:23 {
moduleTree: [ 'require-less/less', 'viewerCesiumNavigationMixin' ],
fileName: 'E:/开发/WEBGIS/cesium-navigation/cesium-navigation-development/bower_components/require-less/less.js'
}
}

Coordinate control for cesiumjs

Hi,
Is there any coordinate control avalible for cesium viewer as we have navigation control? .i have seen such kind control in terriajs viewer.There control show lat,long and elevation on mouse move .
Thanks

Breakout circle appears through graphics

When using the navigation mixin to zoom in, we are seeing a circle appear that expands and contracts if you use the mouse to move the globe view up or down.
This "breakout circle" appears like it is punching through the layers displayed on the screen.
I've drawn a red rectangle around the breakout circle in the attached image.
This breakout circle disappears when a user uses the mouse scroll wheel to zoom in/out.

This is the only version number that I could pull from the minified code...
Version: a.version = "3.4.0";
whatisthis

Stylling the Navegator

Hi !

First of all thank you a very nice free tool for Cesium. I am trying to re-stylle Cesium and I will need to change position and re-stylle the Navegator. I wonder where to find the .CSS or other stylle document for these task?

Regards,
Abel Gonzalez

引入js文件报错

您好,为什么我引入这个js文件报错呢??
报错:Uncaught ReferenceError: define is not defined at VM300680 viewerCesiumNavigationMixin.js:5:1
引入方式:
index.html
`

<script src="./static/js/Source/viewerCesiumNavigationMixin.js"></script> ` 就报这个文件里面不知道什么错,我是使用的是vue2.0写的

Integration with a webmodule based project

What would be the best way to add this package to an webmodule based project?

This package doesn't seem to have anything like npm install cesium-navigation and all of the versions of this available on npmjs are old.

Loading with Webpack+Cesium

I love this plugin. I have been using the standalone version with Cesium in a desktop application and it works great. I'm currently developing a web app which is built using Webpack (including Cesium). I can't quite figure out how to integrate this plugin or if it is possible.

Has anyone successfully loaded with Webpack?

Styles Contained to plugin

To be used as plugin, the styles like .modal and .modal-heading that are included in the standalone build should be removed.

The only styles included should only affect the plugin.

Improve documentation around options

Gday,

Thanks for a great plugin, very handy indeed!

One thing I noticed in regards to the doco is that is says you can pass in an options object although nothing describes what options are.

In particular I was looking for options to allow me to turn various bits off (eg the zoom buttons).

Anyway just a suggestion :)

Thanks
Rowan

Zoom buttons go to whole-world view after tracking an entity

After setting an entity as tracked, with the camera button in the top left of the infobox, subsequent clicks of the + or - zoom buttons go out to a whole-world view.

Zooming in from that view with the + button is even odder, I tend to end up in Antarctica! Maybe that's a clue ?

Standalone files

In your Examples/standalone.html file you have the following tag in the html.

<script src="dist/standalone/viewerCesiumNavigationMixin.min.js"></script>

This viewerCesiumNavigationMixin.min.js file is not in the zip file. Where is this coming from?

Thanks!

2D map issue

When I change my map to Cesium.SceneMode.SCENE2D the scale bar vanishes....

What is wrong?

CSS Style a not only for class

please replace
.markdown u, a : hover {
text - decoration : underline
}

to
.markdown u, .markdown a : hover {
text - decoration : underline
}

ohterwise it replace for all a

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.