Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Dart中创建铯图像提供程序_Javascript_Dart_Cesium - Fatal编程技术网

Javascript 在Dart中创建铯图像提供程序

Javascript 在Dart中创建铯图像提供程序,javascript,dart,cesium,Javascript,Dart,Cesium,我正在尝试使用Cesium javascript库在dart中加载WMS映射。我能够使用以下代码从.html文件中加载正确的地图: <script> var widget = new Cesium.CesiumWidget('cesiumContainer', { imageryProvider : new Cesium.WebMapServiceImageryProvider({ url: "http://10.1.10.74

我正在尝试使用Cesium javascript库在dart中加载WMS映射。我能够使用以下代码从.html文件中加载正确的地图:

<script>
    var widget = new Cesium.CesiumWidget('cesiumContainer', {
        imageryProvider : new Cesium.WebMapServiceImageryProvider({    
            url: "http://10.1.10.74:8080/geoserver/wms",
            layers : 'planet_osm_roads,planet_osm_polygon,planet_osm_line,planet_osm_point'
        })
    });
</script>
除tileHeight、tileWidth和ready之外,提供程序的所有属性都为null。有人知道为什么不创建WMS提供商吗


Cesium小部件正在创建,地图正在加载,它只是从默认的Bing提供商加载。

我不知道这个CesiumWidget是什么,也不太适合Dart JS Interop,但这似乎很奇怪:

在JS示例中,您传递了一个映射

{
url:“http://10.1.10.74:8080/geoserver/wms",
图层:“行星轨道、行星多边形、行星直线、行星点”
}
在Dart中传递两个参数

我认为在Dart中应该是这样的

var provider=新的JsObject(wms,
[{
“url”:url,
“层”:“行星轨道、行星轨道多边形、行星轨道线、行星轨道点”
}]);  

我不知道这个CesiumWidget是什么,也不太适合Dart JS Interop,但这看起来很奇怪:

在JS示例中,您传递了一个映射

{
url:“http://10.1.10.74:8080/geoserver/wms",
图层:“行星轨道、行星多边形、行星直线、行星点”
}
在Dart中传递两个参数

我认为在Dart中应该是这样的

var provider=新的JsObject(wms,
[{
“url”:url,
“层”:“行星轨道、行星轨道多边形、行星轨道线、行星轨道点”
}]);  

当您将
映射
列表
或类似JSON的结构从Dart传递到JS时,您必须使用
新建JsObject.jsify(JSON)
。例如,您的提供商应该是:

var provider = new JsObject(wms, 
  [new JsObject.jsify({
    'url': url, 
    'layers': 'planet_osm_roads,planet_osm_polygon,planet_osm_line,planet_osm_point'
  })]);
//....
var widget = new JsObject(ces_widget, ['cesiumContainer', new JsObject.jsify({'imageryProvider' : provider})]);

当您将
Map
List
或类似JSON的结构从Dart传递到JS时,您必须使用
newJSObject.jsify(JSON)
。例如,您的提供商应该是:

var provider = new JsObject(wms, 
  [new JsObject.jsify({
    'url': url, 
    'layers': 'planet_osm_roads,planet_osm_polygon,planet_osm_line,planet_osm_point'
  })]);
//....
var widget = new JsObject(ces_widget, ['cesiumContainer', new JsObject.jsify({'imageryProvider' : provider})]);