一、安装导航插件
npm install cesium-navigation-es6@1.0.9 --save-dev
二、修改源码
1、node_modules\cesium-navigation-es6文件夹中所有的
import Cesium from 'cesium/Cesium'
替换为:
import * as Cesium from "cesium/Cesium";
2、node_modules\cesium-navigation-es6\viewerCesiumNavigationMixin.js
defineProperties(viewer, {
cesiumNavigation: {
configurable: true,
get: function () {
return viewer.cesiumWidget.cesiumNavigation
}
}
})
替换为:
Object.defineProperties(viewer, {
cesiumNavigation: {
configurable: true,
get: function () {
return viewer.cesiumWidget.cesiumNavigation
}
}
})
defineProperties(cesiumWidget, {
cesiumNavigation: {
configurable: true,
get: function () {
return cesiumNavigation
}
}
})
替换为:
Object.defineProperties(cesiumWidget, {
cesiumNavigation: {
configurable: true,
get: function () {
return cesiumNavigation
}
}
})
3、node_modules\cesium-navigation-es6\viewModels\UserInterfaceControl.js
defineProperties(UserInterfaceControl.prototype, {
/**
* Gets the Terria instance.
* @memberOf UserInterfaceControl.prototype
* @type {Terria}
*/
terria: {
get: function () {
return this._terria
}
},
/**
* Gets a value indicating whether this button has text associated with it.
* @type {Object}
*/
hasText: {
get: function () {
return defined(this.text) && typeof this.text === 'string'
}
}
})
替换为:
Object.defineProperties(UserInterfaceControl.prototype, {
/**
* Gets the Terria instance.
* @memberOf UserInterfaceControl.prototype
* @type {Terria}
*/
terria: {
get: function () {
return this._terria
}
},
/**
* Gets a value indicating whether this button has text associated with it.
* @type {Object}
*/
hasText: {
get: function () {
return defined(this.text) && typeof this.text === 'string'
}
}
})