Dart 与第三方库集成
Dart and third party library 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,最后一个版本使用 backbone,但它很乱。所以我现在给 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 疯狂,调试 dart.js 就像 javascript 地狱平方。
这似乎产生与您的 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', []);
我有一些地图库的简单使用示例
<!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,最后一个版本使用 backbone,但它很乱。所以我现在给 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 疯狂,调试 dart.js 就像 javascript 地狱平方。
这似乎产生与您的 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', []);