yii框架嵌入cesium
从cesium的github下载源码 https://github.com/CesiumGS/cesium
使用VScode进行编译(不太确定),打包build
参考连接http://cesium.coinidea.com/topic/138.html
npm install
npm run build
build之后会在源码文件夹Source下生成打包好的Cesium.js文件
install 的时候可能会出现(我觉得是100%)出现错误
found 808 vulnerabilities (804 low, 4 moderate)
run `npm audit fix` to fix them, or `npm audit` for details
在网上也找不到正确的解决方法
我通过不断的删除/生成packet-lock.json文件,运行指令
npm audit fix
npm audit
npm install
成功的把8个错变成两个:
found 2 high severity vulnerabilities
后面说什么要手动审核啥的就没理它了,反正跑起来了
把目录下的文件:
不要node_modules,加上package.json
复制到yii框架下/static/admin/cesium文件
之所以放到static/admin下,是因为放在别的地方js不给执行,报错403的错泪目
新建控制器cesiumController,其中渲染函数:
public function actionIndex( $keywords = '',$type='') {
set_cookie('_currentUrl_', Yii::app()->request->url);
$modelName = $this->model;
//$model = $modelName::model();
//$criteria = new CDbCriteria;
// $criteria->condition=get_like('f_show=1','roleName,roleCode',$keywords,'');
$data = array();
//parent::_list($model, $criteria, 'index', $data);
$this->render('index', $data);
}
新建视图cesium/index.php
<div class="box">
<div id="cesiumContainer" class="fullWindow"></div>
<div id="loadingIndicator" class="loadingIndicator"></div>
</div><!--box end-->
<!--<script src="Apps/CesiumViewer/CesiumViewer.js" type="module"></script>-->
<script type="module">
window.CESIUM_BASE_URL = "../../wurenji/static/admin/cesium/Source/";
import {
Cartesian3,
createWorldTerrain,
defined,
formatError,
Math as CesiumMath,
objectToQuery,
queryToObject,
CzmlDataSource,
GeoJsonDataSource,
KmlDataSource,
GpxDataSource,
TileMapServiceImageryProvider,
Viewer,
viewerCesiumInspectorMixin,
viewerDragDropMixin,
} from "../wurenji/static/admin/cesium/Source/Cesium.js";
const endUserOptions = queryToObject(window.location.search.substring(1));
let imageryProvider;
if (defined(endUserOptions.tmsImageryUrl)) {
imageryProvider = new TileMapServiceImageryProvider({
url