Ошибка Cesium Security при подключении к локальному серверу WMS (или TMS)

Я пытаюсь настроить собственный сервер VR-TheWorld и выполнить рендеринг с использованием Цезий.

При подключении к серверу VR-TheWorld с использованием WebMapServiceImageryProvider (или TileMapServiceImageryProvider) в цезии он подключается и отображается правильно.

Когда указываю на мою локальную версию, цезий выдает ошибку:

An error occurred while rendering. Rendering has stopped.<br />
SecurityError: SecurityError

Я не могу понять, что вызывает эту ошибку, буду признателен за любые указатели в правильном направлении.

HTML-страница, используемая для подключения ниже.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Web Viewer</title>
    <!-- Use correct character set. -->
    <meta charset="utf-8">
    <!-- Tell IE to use the latest, best version (or Chrome Frame if pre-IE11). -->
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <script src="../Build/Cesium/Cesium.js"></script>
    <style>
        @import url(../Build/Cesium/Widgets/widgets.css);
        html, body, #cesiumContainer {
            width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; 
        }
    </style>
</head>
<body>
    <div id="cesiumContainer"></div>
    <script type="text/javascript">
        var viewer = new Cesium.Viewer('cesiumContainer', {
            imageryProvider: new Cesium.WebMapServiceImageryProvider({
                url: 'http://www.vr-theworld.com/vr-theworld/tiles?',
                //url: 'http://vrtw.local/tiles?',
                layers: 1
            }),
            //imageryProvider: new Cesium.TileMapServiceImageryProvider({
                //url: 'http://www.vr-theworld.com/vr-theworld/tiles1.0.0/1/',
                //url: 'http://vrtw.local/tiles1.0.0/1/',
                //fileExtension: 'jpeg'
            //}),
            baseLayerPicker: false
        });
  </script>
</body>
</html>


person Michael Robinson    schedule 04.06.2015    source источник


Ответы (1)


Оказывается, это проблема CORS.

После включения на локальном сервере cesium без проблем отображал локальные данные.

person Michael Robinson    schedule 04.06.2015