- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经使用带有 webpack 模板的官方 cesium 设置了一个项目,可在此处找到:https://github.com/AnalyticalGraphicsInc/cesium-webpack-example然后我尝试为该项目添加 typescript 支持。它编译得很好,但在浏览器中出现以下错误:
ReferenceError: Cesium 未定义 index.ts:12:4
这是我的 index.ts 脚本:
/// <reference path="custom_typings/cesium/index.d.ts" />
require('cesium/Widgets/widgets.css');
require('./css/main.css');
require('cesium/Cesium');
// Example app
let viewerOptions : Cesium.ViewerOptions = {
scene3DOnly: true,
selectionIndicator: false,
baseLayerPicker: false
}
let viewer = new Cesium.Viewer('cesiumContainer', viewerOptions);
这是我的 webpack.config:
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
// The path to the cesium source code
const cesiumSource = 'node_modules/cesium/Source';
const cesiumWorkers = '../Build/Cesium/Workers';
module.exports = [{
context: __dirname,
entry: {
app: './src/index.ts'
},
devtool: 'inline-source-map',
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
// Needed by Cesium for multiline strings
sourcePrefix: ''
},
amd: {
// Enable webpack-friendly use of require in cesium
toUrlUndefined: true
},
node: {
// Resolve node module use of fs
fs: "empty"
},
resolve: {
extensions: [ '.tsx', '.ts', '.js' ],
alias: {
// Cesium module name
cesium: path.resolve(__dirname, cesiumSource)
}
},
module: {
rules: [{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}, {
test: /\.(png|gif|jpg|jpeg|svg|xml|json)$/,
use: ['url-loader']
}, {
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}]
},
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.html'
}),
// Copy Cesium Assets, Widgets, and Workers to a static directory
new CopyWebpackPlugin([{from: path.join(cesiumSource, cesiumWorkers), to: 'Workers'}]),
new CopyWebpackPlugin([{from: path.join(cesiumSource, 'Assets'), to: 'Assets'}]),
new CopyWebpackPlugin([{from: path.join(cesiumSource, 'Widgets'), to: 'Widgets'}]),
new webpack.DefinePlugin({
// Define relative base path in cesium for loading assets
CESIUM_BASE_URL: JSON.stringify('')
}),
// Split cesium into a seperate bundle
new webpack.optimize.CommonsChunkPlugin({
name: 'cesium',
minChunks: function (module) {
return module.context && module.context.indexOf('cesium') !== -1;
}
})
],
// development server options
devServer: {
contentBase: path.join(__dirname, "dist")
}
}];
Cesium 和 typescript 都安装为节点模块。
最佳答案
我通过以这种方式将 Cesium 设置为全局变量解决了我的问题:
const cs = require("cesium/Cesium");
(<any>window).Cesium = cs
关于typescript - Cesium 与 Webpack 和 Typescript : ReferenceError: Cesium is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47911186/
我使用 Cesium 的 gltf 分支,我想显示飞机的 3d 模型。为此,我创建了加载并添加到数据源的 czmlDataSource。 问题是我无法弄清楚如何计算方向四元数以使平面在给定的经纬度处平
我在我的应用程序中使用铯。我的应用程序根据收到的位置在 map 上显示广告牌。 我想知道Cesium.Viewer和Cesium.CesiumWidget之间的区别。是否可以使用Cesium Widg
我以这样的方式创建 Cesium.Primitive: _createPrimitive: function (linesNumber) { var instances = [
我已经使用带有 webpack 模板的官方 cesium 设置了一个项目,可在此处找到:https://github.com/AnalyticalGraphicsInc/cesium-webpack-
我在 Google Groups 上看到了一些示例,它们演示了如何修改信息框的 css。在此特定示例中,使用 javascript 将 css 链接附加到文档的头部: https://groups.g
我完全是 Cesium 的菜鸟,所以请原谅我的愚蠢行为。我正在尝试编写一个应用程序,将位置和方向数据流式传输到 Cesium,实时绘制它以及显示它所在位置的路径。我遇到了实体视觉卡顿的问题,这几乎可以
有没有办法获得 CesiumJS 中给定位置的地面高度?我试过scene.globe.getHeight func 但它返回未定义。 //marker is a point on map. v
我正在使用铯,并试图检测折线与地球地形相交的位置。我有一条多段线,它从空中的某个点开始,以一定的角度向地球延伸。 现在我正在使用设定的距离计算终点,所以我有一个起点和终点。我想检测这条折线首先撞击地球
我正在使用从数据库提供的位置数据来绘制实体。 我目前正在使用 viewer.entities.removeAll(); 每次从数据库中获取结果时删除所有实体。 由于实体当前是 3D 模型,因此这会导致
之前好像有人问过这个问题,但我一直找不到合适的例子。我熟悉 PHP,但不熟悉 Javascript,无法弄清楚如何流式传输 CZML。 我想在 map 上显示大约 6.500 个 Assets 。为了
我想在 cesium.js 中显示地下的多段线。但我对此一无所知。 最佳答案 貌似cesium还没有提供官方的地下功能,原因是cesium cameral can not be placed unde
我创建了缩放至特定国家/地区的按钮。然而,当我单击新加坡按钮时,它会导航到新加坡,但我看不到确切的新加坡国家。 所以我想要一个更好的图像。 下面是我的代码...
假设我在铯 map 上显示一个点:( https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=CZML%20Point.html&labe
我要从单击的点绘制一组圆形的线。我的代码工作正常,但它绘制的圆远离单击的点。有人可以帮助我找出我的错误在哪里吗? var viewer = new Cesium.Viewer('cesiumC
我想使用flyTo()并提供纬度长坐标,但保持相机与当前表面的高度/变焦/距离相同。 我尝试在调用flyTo时使用camera.position.z,但这似乎在每次调用flyTo()时都会放大得越来越
大家好,我正在尝试在我的铯地球仪上获取 WMS 图层。下面是我正在使用的代码。当我查看网络选项卡时,我确实看到请求在 200 处全部通过,并且当我使用请求上的链接时,它们确实起作用;但是,它说它们的文
我想使用 OL3-Cesium 在我的 WPF 应用程序中使用 WebBrowser 控件显示地球 View 。示例 html 文件在我的 IE 11 浏览器中运行良好,但如果我通过 WebBrows
我使用 Cesium Earth 库开发了一个应用程序。 问题是,绘制的线(实体路径)质量很差,不平滑。如何让它变得更好? viewer = new Cesium.Viewer('cesiumCo
我有多个 GeoJsonDataSource 对象,我想将它们放在 Cesium 地球仪上。问题是,如果它们重叠,我会遇到一些 z-fighting 问题,我无法调整它们的顺序。 有没有一种方法可以指
目录 前言 1、数据准备 2、效果实现 Cesium-01:Vue 中基础使用 Cesium-02:飞机模型简
我是一名优秀的程序员,十分优秀!