1

我在一个使用 gmaps 的 angular.dart 项目中工作。我想在地图点击时获得 LatLng 值。我的 map.html :

<div id="map" ng-click="ctrl.mapClick($event)"></div>

我的 DartCtrl :

 void mapClick(e){
    print(e.runtimeType); //MouseEvent
    print(e.latLng); //error : Undifined function mapClick ...
 }

在不编写类似以下内容的情况下获得 LatLng 值的任何想法:

map.onClick.listen((e){
print(e.latLng);
});

*这发生在 dartium 中,因此与 dart2js 无关。并认为你..

4

2 回答 2

0

我认为你需要类似的东西

import 'dart:js';

...

new JsObject.fromBrowserObject(e)['latLng']

(未测试)

对于 Dart-js-interop 另请参阅js interop 编译时使用 dart2js 错误 - Uncaught NoSuchMethodError : method not found:

于 2014-05-16T16:50:25.133 回答
0

返回的 MouseEvent 不是原生的,也不是从 HTML 的 MouseEvent 继承的,它是“src/generated/core/events/mouse_event.dart”,所以我的示例不可能工作。更好的方法是创建一个具有回调方法的 NgDecorator,该方法返回特殊的 MouseEvent 希望包含 LatLng

于 2014-07-28T17:38:52.610 回答