我是飞镖的新手。是否可以在 DART 上使用 Google Maps Javascript API?如果现在不能直接实现,还有其他替代方法吗?
问问题
2221 次
3 回答
8
您现在可以使用pub上提供的google_maps 包。该库允许您从 dart 脚本中使用 Google Maps JavaScript API。
只需将依赖项添加到您的pubspec.yaml
dependencies:
google_maps: ">=1.0.1 <2.0.0"
使用<script>
标签包含 Maps API JavaScript。
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
然后,您可以使用 dart 脚本中的 Google 地图。这是一个简单的例子:
import 'dart:html';
import 'package:google_maps/google_maps.dart';
void main() {
final mapOptions = new MapOptions()
..zoom = 8
..center = new LatLng(-34.397, 150.644)
..mapTypeId = MapTypeId.ROADMAP
;
final map = new GMap(query("#map_canvas"), mapOptions);
}
于 2012-10-30T18:42:18.787 回答
2
目前,如果你想与 JavaScript 通信,你需要使用Dart 的postMessage (这最终会改变)。因此,现在您需要向您的应用程序添加一些 JavaScript 代码,以协调与 Google maps JS API 和 Dart 之间的消息:
function googleMapsCallback(s) {
window.postMessage(JSON.stringify(s), '*');
}
然后在你的 Dart 代码中:
class GoogleMap {
GoogleMap() {
window.on.message.add(received, false);
}
received(MessageEvent e) {
var data = JSON.parse(e.data);
// do stuff with google maps data
}
}
或者,您可以使用XMLHttpREquest 直接从 Dart使用Google Maps REST API
于 2012-04-14T09:55:42.680 回答
1
Dart 现在有一个 JavaScript 互操作性库:http ://www.dartlang.org/articles/js-dart-interop/
该页面上的示例之一是如何与 Google Apps 进行互操作。
于 2012-11-02T23:29:16.710 回答