Dart和第三方库集成

时间:2015-02-17 08:26:17

标签: javascript dart integration

我有一些使用某些地图库的简单例子

<!doctype html>
<html>
<head>
    <script src="http://api4.mapy.cz/loader.js"></script>
    <script>Loader.load()</script>
</head>

<body>
    <div id="mapa" style="width:600px; height:400px;"></div>
    <script type="text/javascript">
        var stred = SMap.Coords.fromWGS84(14.41, 50.08);
        var mapa = new SMap(JAK.gel("mapa"), stred, 10);
        mapa.addDefaultLayer(SMap.DEF_BASE).enable();
        mapa.addDefaultControls();                
    </script>
</body>
</html>

我应该如何将其整合到Dart中。我觉得自己在javascript中很弱,所以我正在寻找如何摆脱javascript使用的任何选项,但在与第3部分库集成时我总是失败。我试过GWT,最后一个版本是使用骨干,但它很乱。所以我现在给Dart一个机会,但到目前为止它已经无望了。

我试过这样的事情

 var stred = context['SMap']['Coords'].callMethod('fromWGS84', [14.41, 50.08]);
 var element = context['JAK'].callMethod('gel', 'mapa');
 var mapa = new JsObject(context['SMap'],[[element], [stred], 10]);

第一行似乎成功,但在它停止后,未定义和通常的javascript疯狂,debuging dart.js就像javascript hell squared。

1 个答案:

答案 0 :(得分:0)

这似乎产生与JS代码相同的结果:

  var stred = context['SMap']['Coords'].callMethod('fromWGS84', [14.41, 50.08]);
  var element = context['JAK'].callMethod('gel', ['mapa']);
  var mapa = new JsObject(context['SMap'],[element, stred, 10]);
  mapa.callMethod('addDefaultLayer', [context['SMap']['DEF_BASE']])
      .callMethod('enable', []);
  mapa.callMethod('addDefaultControls', []);