使用angular.dart在MouseEvent中找不到Gmaps LatLng

时间:2014-05-16 16:07:31

标签: google-maps dart latitude-longitude angular-dart dart-js-interop

我正在使用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无关。 想你..

2 个答案:

答案 0 :(得分:0)

我认为你需要像

这样的东西
import 'dart:js';

...

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

(未经测试)

对于Dart-js-interop,另见js interop compiled with dart2js error - Uncaught NoSuchMethodError : method not found:

答案 1 :(得分:0)

返回的MouseEvent不是本机的,它既不从HTML的MouseEvent继承,也是'src / generated / core / events / mouse_event.dart'所以我的例子没有办法可行。 更好的方法是创建一个具有回调方法的NgDecorator,该方法返回包含LatLng的特殊MouseEvent愿望